tp5自动验证设置(验证分类不同参数)

//自动验证方法

protected $_validate     =     array(
        array('user_name','check_usrname_count','该用户名称已经被注册',self::EXISTS_VAILIDATE,'callback'),
    );

 

public function check_usrname_count($data){

 因为判断不同类型下的用户名是否注册  callback  自定义方法

$data 相当于 $_POST  接收过来表单提交的所有值

$_db = D('Member');
$_db->where('user_name','like',$_POST['user_name']);

判断完事之后   return   false or true

}

第一个值:代表数据库的字段名

第二个值:代表规则(

  require 字段必须填、email 邮箱、url URL地址、currency 货币、number 数字

第三个值:代表提示,失败后提示

第四个值:代表验证条件

self::EXISTS_VALIDATE   表示只有字段存在时验证(默认) 0
self::MUST_VALIDATE      表示无论有无字段都必须验证  1
self::VALUE_VALIDATE     表示字段值不是为空(即有填数据)的时候就验证  2
第五个值:代表附加规则

regex    正则验证,定义的验证规则是一个正则表达式(默认)
function    函数验证,定义的验证规则是一个函数名
callback    方法验证,定义的验证规则是当前模型类的一个方法
confirm    验证表单中的两个字段是否相同,定义的验证规则是一个字段名
equal    验证是否等于某个值,该值由前面的验证规则定义
notequal    验证是否不等于某个值,该值由前面的验证规则定义(3.1.2版本新增)
in    验证是否在某个范围内,定义的验证规则可以是一个数组或者逗号分割的字符串
notin    验证是否不在某个范围内,定义的验证规则可以是一个数组或者逗号分割的字符串(3.1.2版本新增)
length    验证长度,定义的验证规则可以是一个数字(表示固定长度)或者数字范围(例如3,12 表示长度从3到12的范围)
between    验证范围,定义的验证规则表示范围,可以使用字符串或者数组,例如1,31或者array(1,31)
notbetween    验证不在某个范围,定义的验证规则表示范围,可以使用字符串或者数组(3.1.2版本新增)
expire    验证是否在有效期,定义的验证规则表示时间范围,可以到时间,例如可以使用 2012-1-15,2013-1-15 表示当前提交有效期在2012-1-15到2013-1-15之间,也可以使用时间戳定义
ip_allow    验证IP是否允许,定义的验证规则表示允许的IP地址列表,用逗号分隔,例如201.12.2.5,201.12.2.6
ip_deny    验证IP是否禁止,定义的验证规则表示禁止的ip地址列表,用逗号分隔,例如201.12.2.5,201.12.2.6
unique    验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值,当表单数据中包含主键字段时unique不可用于判断主键字段本身

第六个值:代表判断时间

self::MODEL_INSERT    添加数据时验证
self::MODEL_UPDATE   修改数据时验证
self::MODEL_BOTH       添加编辑都验证(默认)
 

 

验证规则后判断
$model=D("School");
if (!$model->create()){
     验证失败 提示信息
     $this->error($model->getError());
 }else{
    验证通过

}

你可能感兴趣的:(tp5自动验证设置(验证分类不同参数))