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); }