ThinkPHP 自动验证,自动完成
来源:原创
时间:2017-06-16
作者:脚本小站
分类:PHP
自动验证
URL检查
array('img_url','url','预览图片格式错误',self::MUST_VALIDATE,'regex',self::MODEL_BOTH),
array('approval',array(0,1,2,3),'类型错误',self::MUST_VALIDATE,'in',self::MODEL_BOTH),中文检查
array('username',"/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_]{2,20}$/u",'只能是中文字母数字和下划线',self::EXISTS_VALIDATE,'regex',self::MODEL_BOTH),性别
array('sex',array(0,1),'性别格式错误',self::MUST_VALIDATE,'in',self::MODEL_BOTH),文章长度
array('details','0,200','长度为0-200',self::VALUE_VALIDATE,'length',self::MODEL_BOTH),密码一致性检查
array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式唯一性检查
array('username','','此用户名已经存在',self::MUST_VALIDATE,'unique',self::MODEL_INSERT),生日
array('birthday','validateDate','生日格式错误',self::EXISTS_VALIDATE,'callback',self::MODEL_BOTH),回调传参:
array('字段','回调函数名称','提示文字',self::MUST_VALIDATE,'callback',self::MODEL_INSERT,array('参数1','参数2')),/**
* 验证日期函数
* @param $date日期
* @param $format = 'Y-m-d H:i:s'
* @return boolean
*/
public function validateDate($date, $format = 'Y-m-d'){
$d = \DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
//The DataTime class : http://php.net/manual/en/class.datetime.php自动完成
时间自动完成:
array('atime',NOW_TIME,self::MODEL_BOTH),自动完成回调函数:
protected $_auto = array(
array('name',getTrimValue,self::MODEL_BOTH,'callback'),
);
/*
* $value的值就是表单提交的该字段的值,在这里可以进行过滤等处理
*/
public function getTrimValue($value)
{
return trim($value);
}