thinkphp-自动验证

本文详细介绍了 ThinkPHP6 中验证器的使用方法,包括静态验证、动态验证及自定义验证规则等内容。通过具体示例展示了如何对用户输入进行有效性检查,确保数据的完整性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      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;
}
}
*/

 

转载于:https://www.cnblogs.com/yjh1604600160/p/think6.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值