model中的自动验证 $_validate $_auto
普通模式:
<?php
class UserModel extends RelationModel{ /**自动验证**/
protected $_validate = array(
/**array([验证字段],[验证规则],[错误提示],(验证条件(默认为存在字段就验证)),(附加规则),(验证时间))**/
array('username','','该用户名已经存在!',1,'unique'),
array('password','5,12','密码过短,请重新输入!',1,'length'),// 自定义函数验证密码格式
array('repassword','password','两次密码不一致,请确认输入!',1,'confirm'),
); /*这边附加规则中的'callback' 与 'function' 必须分清楚,'callback是用户自定义的函数',
'function'是系统自带的函数
*/
/**验证条件**/
/**
* Model::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
* Model::MUST_VALIDATE 或者1 必须验证
* Model::VALUE_VALIDATE或者2 值不为空的时候验证
*/
/**验证时间**/
/**
* Model::MODEL_INSERT或者1新增数据时候验证
* Model::MODEL_UPDATE或者2编辑数据时候验证
* Model::MODEL_BOTH或者3全部情况下验证(默认)
* 这里的验证时间需要注意,并非只有这三种情况,你可以根据业务需要增加其他的验证时间。
*/ /**自动增加**/
protected $_auto = array (
/**array([增加字段],[增加函数],[增加条件],[附加规则])**/
array('addtime','time',3,'function'),
); /**后台检查密码长度**/
protected function checkPwd($password){
if(strlen($password) < 5){
return false;
}else{
return true;
}
} } ?>
动态绑定模式:
<?php
class UserAction extends Action{ public function user(){
$this->display();
} public function index(){
$user = D('User');
$validate = array(
/**array([验证字段],[验证规则],[错误提示],(验证条件(默认为存在字段就验证)),(附加规则),(验证时间))**/
array('username','','该用户名已经存在!',1,'unique'),
array('password','5,12','密码过短,请重新输入!',1,'length'),// 自定义函数验证密码格式
array('repassword','password','两次密码不一致,请确认输入!',1,'confirm'),
);
$auto = array(
array('addtime','time',3,'function'),
);
// model模型中的内置函数
// $user->setProperty('_validate',$validate);
// $user->setProperty('_auto',$auto);
$user->validate($validata)->auto($auto);
if($user->create()){
if($user->add()){
$this->success('注册成功');
}else{
$this->error('注册失败');
}
}else{
$this->error($user->getError());
}
}
}
?>
model中的自动验证 $_validate $_auto的更多相关文章
- tinkphp中的自动验证
tinkphp是国内非常流行的一个开源框架,国内大小公司都在用的框架.对于初学的好多同学感觉不太好上手,其实并没没有大家想的那么复杂.自动验证功能是thinkphp提高的一种数据验证方法,分为动态和静 ...
- thinkphp中的自动验证
array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等.有 ...
- model中字段格式验证
注释部分在前端不显示 /// <summary> /// 链接地址 /// </summary> [Display(Name = "链接地址")] //[D ...
- 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证
在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现RequiredIf标签对Model中的属性进行验证 具体场景为:某一属性是否允许为null的验证,要根据另 ...
- CompareValues标签对Model中的属性进行验证
在Asp.Net MVC中实现CompareValues标签对Model中的属性进行验证 在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现Model两个 ...
- 在.Net MVC中自定义ValidationAttribute标签对Model中的属性做验证
写一个继承与ValidationAttribute类的自定义的验证方法 MVC中传递数据时,大多数都会用Model承载数据,并且在传到控制器后,对Model进行一系列的验证. 我平时经常使用的判断方法 ...
- thinkPHP中服务器端的验证
<?php class UserModel extends Model{ //user是表的名称 必须以表名开始,继承Model类 protected $_validate=array( //a ...
- tp5 model 中的查询范围(scope)
查询范围scope在model中定义,在controller中使用 namespace app\index\model; use think\Model; class User extends Mod ...
- thinkphp自动验证---$_validate
thinkphp中的自动验证 array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段 ...
随机推荐
- php 1转成一
function numToWord($num) { $chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); $chiUn ...
- @ApiModelProperty的用法
@ApiModelProperty()用于方法,字段: 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否 ...
- 【java】Java组件概览(1)
如上图所示,Oracle的Java SE8有两个产品:JDK和JRE.其中,JRE的内容包括图中①~⑤,它是JDK的子集. ⑥中的红色部分与JRE有重合. [参考] 1.https://docs.or ...
- php 的文件操作类
<?php header('Content-type:text/html;charset=utf8'); Class FILE { private static $path; private s ...
- jQuery 第六章 jQuery在Ajax应用
1.本章目标 ajax 2.ajax 异步刷新技术,我们的网页不需要全部刷新,按需实现局部刷新,上线后台的交互 用户体验好 地图,前台验证,表单提交,修改,查询等等 原生的js和ajax packag ...
- Yii2中mongodb使用ActiveRecord的数据操作
概况 Yii2 一个高效安全的高性能PHP框架.mongodb 一个高性能分布式文档存储NOSQL数据库. 关于mongodb与mysql的优缺点,应该都了解过. mysql传统关系数据库,安全稳定 ...
- mysql 删除所有表
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')FROM information_schema.tablesWHERE table_sch ...
- nodejs入门篇之linux版的nodejs简易环境安装部署
第一步:下载二进制安装包 根据linux的不同版本选择32位或64位,因为我的linux的虚拟机是64位的,所以我选择的是64位二进制安装文件(Linux Binariesx64),可以右键选择在新窗 ...
- (二)文档请求不同源之flash跨域
对于FLash,IE是认object标签的,但是FF和Chrome是认embed标签的. 1.客户端 <param name="allowScriptAccess" valu ...
- bzoj5397 circular 随机化(
题目大意 给定一个环,环上有一些线段,试选出最多的线段 题解: 提醒:这可能是一篇非常欢乐的题解 我们考虑倍长环,然后断环为链 我们考虑枚举开头的线段,然后做一次贪心 这样子的复杂度根据实现的不同是\ ...