thinkphp-自动验证
Posted 加号与剑豪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp-自动验证相关的知识,希望对你有一定的参考价值。
Home或Home2\Controller 编辑下的
/* //静态验证
//自动验证
$user=D(‘Sks‘);
$data[‘name‘]=‘1234‘;
$data[‘pass‘]=‘xxx‘;
//$data[‘name2‘]=‘xxx‘;
if($user->create($data)){
echo ‘<br>‘;
echo ‘所有数据成功‘;
}
else{
//输出错误信息
echo ‘<br>‘;
echo ‘<pre>‘;
var_dump($user->getError());
echo ‘</pre>‘;
}
*/
/* //动态验证
$rules=array(
array(‘name‘,‘require‘,‘用户名不得为空‘),
);
$user=M(‘Sks‘);
$data[‘name‘]=‘1234‘;
if($user->validate($rules)->create($data)){
echo ‘<br>‘;
echo ‘所有数据成功‘;
}
else{
//输出错误信息
echo ‘<br>‘;
echo ‘<pre>‘;
var_dump($user->getError());
echo ‘</pre>‘;
}
*/
Home或Home2\Model 下的
protected $patchValidate=true;
//原本如果有多个错误,只显示一个,但这个会令其都显示
protected $_validate=array(
//字段名,验证规则,错误提示,验证条件,附加规则,验证时间
//array(‘name‘,‘require‘,‘用户不得为空‘,‘0‘,‘regex‘,‘3‘),
//name字段,不得空,错误提示:上,(存在字段就验证,附加规则,添加或修改时验证)默认项
//array(‘name‘,‘email‘,‘邮箱‘),
//array(‘name‘,‘url‘,‘url‘),
//array(‘name‘,‘currency‘,‘货币‘),
//array(‘name‘,‘zip‘,‘邮政编码‘),
//array(‘name‘,‘number‘,‘正整数‘),
//array(‘name‘,‘integer‘,‘整数‘),
//array(‘name‘,‘double‘,‘浮点数‘),
//array(‘name‘,‘english‘,‘纯英语‘),
//附加规则-不用内置规则,自己定的规则
//array(‘name‘,‘/^\d{3,6}$/‘,‘3-6位数字‘,0,‘regex‘),
//验证3-6位数
//array(‘name‘,‘xxx‘,‘值不相等‘,0,‘equal‘),
//验证是否与指定值相等
//array(‘pass‘,‘xxx‘,‘值不能相等‘,0,‘notequal‘),
//验证是否与指定值不相等
//array(‘name‘,‘name2‘,‘两个用户名不同‘,0,‘confirm‘),
//验证两个字段是否相等
//array(‘name‘,array(1,2,3),‘不是指定值‘,0,‘in‘),
//array(‘name‘,‘张三,李四,王五‘,‘不是指定值‘,0,‘in‘),
//验证数值是否是指定值
//array(‘name‘,array(1,3),‘不得是指定值‘,0,‘notin‘),
//array(‘name‘,‘张三,李四,王五‘,‘不得是指定值‘,0,‘notin‘),
//验证数值是否不是指定值
//array(‘name‘,‘3‘,‘请输入三位数‘,0,‘length‘),
//array(‘name‘,‘3,5‘,‘不得小于三位,不得大于五位‘,0,‘length‘),
//验证数值的位数
//array(‘name‘,array(3,5),‘不在指定范围内‘,0,‘between‘),
//array(‘name‘,‘3,5‘,‘不在指定范围内‘,0,‘between‘),
//验证数值的位数
//array(‘name‘,array(3,5),‘不得在指定范围内‘,0,‘notbetween‘),
//array(‘name‘,‘3,5‘,‘不得在指定范围内‘,0,‘notbetween‘),
//验证数值的位数
//array(‘name‘,‘2017-4-10,2017-4-13‘,‘已过期‘,0,‘expire‘),
//设置有效期范围,必须是表单提交有效,可以是时间戳
//array(‘name‘,‘192.168.0.10‘,‘当前ip被禁止‘,0,‘ip_deny‘),
//禁止ip访问
//array(‘name‘,‘127.0.0.1‘,‘当前ip没有被允许‘,0,‘ip_allow‘),
//只允许此ip访问
//array(‘name‘,‘checkLength‘,‘用户名必须为3-5位‘,0,‘callback‘,3,array(3,5)),
//使用回调形式
//array(‘name‘,‘checkLength‘,‘用户名必须为3-5位‘,0,‘callback‘,3,array(3,5)),
//使用函数形式
);
/* //checkLength回调形式
protected function checkLength($str,$min,$max){
preg_match_all("/./u",$str,$matches);
$len=count($matches[0]);
if($len<$min || $len>$max){
return false;
}
else{
return true;
}
}
*/
以上是关于thinkphp-自动验证的主要内容,如果未能解决你的问题,请参考以下文章