不言不语

您现在的位置是: 首页 >  PHP

PHP

ThinkPHP 自动验证实例

2022-06-02PHP
本文详细介绍了ThinkPHP自动验证规格、和代码实例!
array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])


ThinkPHP 自动验证定义的附加规则如下:

1. regex:使用正则进行验证(默认)

2. unique:验证唯一性

3. confirm:验证表单中的两个字段是否相同

4. equal:验证是否等于某个值

5. in:验证是否在某个范围内

6. function:使用函数验证

7. callback:使用方法验证

 

ThinkPHP 自动验证实例如下:

//数据有效性检查
protected $_validate=array(
	array('username','require','请输入用户名',0,'',1),
	array('username','checkuser','用户名必须是字母、数字、下划线或中文',0,'callback',1),
	array('username','checklen','用户名不得小于3个字符或超过15个字符',0,'callback',1),
	array('username','','用户名已存在',0,'unique',1),
	array('password','require','请输入密码',0,'',1),
	array('password','/^[0-9a-zA-Z_]{4,16}$/','密码必须是4-16位字母、数字或下划线',0,'regex'),
	array('pass','password','两次输入的密码不一致',0,'confirm'),
	array('email','/^(\w)+@((\w)+\.)+(\w)+$/','请输入正确格式的邮箱',2,'regex'),
);

//用户名字符格式验证
protected function checkuser($username){
	if(preg_match('/^[0-9a-zA-Z_\x{4e00}-\x{9fa5}]{1,15}$/u',$username)){
		return true;
	}else{
		return false;
	}
}

//用户名长度验证
protected function checklen($username){
	$data=strlen(preg_replace('/[\x{4e00}-\x{9fa5}]/u','**',$username));
	if($data < 3 || $data > 15){
		return false;
	}else{
		return true;
	}
}


文章评论