Thinkphp 3.23 动态验证
来源:互联网 发布:昆明java 编辑:程序博客网 时间:2024/06/05 10:15
ThinkPHP 内置了数据对象的自动验证功能来完成模型的业务规则验证。自动验证是基于数据对象的,而大多情况下数据对象是基于 $_POST表单 (不是绝对的)创建的。
基本的自动验证功能包括:必须字段、email邮箱格式、唯一性、URL地址、数字、两个字段是否相同、是否等于某个值等。
要使用系统的自动验证功能,只需要在对应的 Model类 里面定义 $_validate 属性(由多个验证因子组成的数组),语法如下:
protected $_validate = array( array(验证字段,验证规则,错误提示[,验证条件][,附加规则][,验证时间])};
- Model::EXISTS_TO_VAILIDATE 或者 0 :存在字段就验证(默认)
- Model::MUST_TO_VALIDATE 或者 1 :必须验证
- Model::VALUE_TO_VAILIDATE 或者 2 :值不为空的时候验证
- regex:使用正则进行验证,表示前面定义的验证规则是一个正则表达式(默认)
- unique:验证唯一性,系统会根据字段目前的值查询数据库来判断是否存在相同的值
- confirm:验证表单中的两个字段是否相同,前面定义的验证规则是一个字段名
- equal:验证是否等于某个值,该值由前面的验证规则定义
- in:验证是否在某个范围内,前面定义的验证规则必须是一个数组
- function:使用函数验证,表示前面定义的验证规则是一个函数名
- callback:使用方法验证,前面定义的验证规则是当前 Model 类的一个方法
- Model:: MODEL_INSERT 或者 1 :新增数据时候验证
- Model:: MODEL_UPDATE 或者 2 :编辑数据时候验证
- Model:: MODEL_BOTH 或者 3 :全部情况下验证(默认)
$rules = array(array('uphone','checkMobile','手机号格不正确',1,'function'),array('uphone','','手机号已被注册!',1,'unique',3),array('password','require','密码必须填写',1),array('password','/^\w{6,17}$/','密码格式不正确',1),// array('code','/^\w{6,17}$/','验证码格式不正确',0));$User = M('user');if($User->validate($rules)->create() ===false){exit(setResponse('-200',$User->getError()));}$phone = I('post.uphone');$password = I('post.password');$data = array('uphone'=>$phone,'upass'=>password_hash($password,PASSWORD_DEFAULT));$data['is_admin_add'] =0;$data['nickname'] ='游客'.substr($phone,7);$data['headurl'] ='/Uploads/home/headimg/ETT1Q$6~EYE6HC264L0NBQ3.png';$uid = $User->add($data);if($uid){$user = $User->where(array('user_id'=>$uid))->field('headurl,nickname,user_id,point,score,total_earnings')->find();sucRet($user);}else{errRet('注册失败');}
function里面的方法可以写到此方法内部 也可以在common/common/function.php 内部unique判断唯一时 该字段名字一定要数据库保持一致
阅读全文
0 0
- Thinkphp 3.23 动态验证
- ThinkPHP 验证码加ajax动态验证
- Thinkphp+AJAX动态验证用户输入是否合法
- thinkphp验证码的验证
- thinkphp 模型验证
- thinkphp 模型验证
- thinkphp 验证码
- thinkphp 自动验证
- thinkphp 验证 自动填充
- thinkphp验证码问题
- ThinkPHP验证码
- ThinkPHP验证码
- ThinkPHP 自动验证
- ThinkPHP 验证码
- thinkphp验证码更改
- thinkphp 验证码 Verify
- ThinkPHP验证码
- ThinkPHP验证码
- centOS6.6下升级到git 2.2.X版本
- 深度学习 tensorflow例子
- Mac下Intellij IDEA快捷键部分失效
- Apache_tomcat和jakarta_tomcat区别
- MAC终端自动提示
- Thinkphp 3.23 动态验证
- bigdecimal与double
- 针对正方教务开发大学App(查成绩,课表,一键评教,图书馆,正方系统)
- Idea 的@Autowired标红报错
- shell脚本 编写
- tomcat7放入war不解析
- Java异常类层次结构图
- SpringBoot从入门到高级
- 观察者模式