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.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段 ...
随机推荐
- Laravel 生成migration ,boolean字段字段转为tinyInteger
Schema::create('consults', function (Blueprint $table) { $table->increments('id'); $table->str ...
- class-dump 安装使用详解
顾名思义,它的作用就是把Mach-O文件的class信息给dump出来(把类信息给导出来),生成对应的.h头文件 官方地址:http://stevenygard.com/projects/class- ...
- Zombie Scanning
1.theree -way handshake A TCP SYN packet is sent from the device that wishes to establish a connecti ...
- 枚举特性FlagsAttribute的用法
先看官方的解释:指示可以将枚举作为位域(即一组标志)处理. 看起来并不好理解,到底什么是作为位域处理? 其实说的通俗点就是用二进制的表示方式来处理数学集合概念中关于集合的或与非等运算方法. 有什么用 ...
- 百度上传插件---webuploader的使用
需求:朋友让找一个兼容IE8的上传插件,卧槽,IE8,我当时是崩溃的,然后就搜到了这个百度的插件,官网是这样描述的 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HT ...
- IDEA安装ini4idea插件
参见https://blog.csdn.net/lintianlin/article/details/80050309
- python 爬虫与数据可视化--爬虫基础知识
一.python中的模块 模块的安装:pip install 模块名 导入模块与函数:import requests . from pymongo import MongoClient json模块的 ...
- Windows应用程序组成及编程步骤
Windows应用程序组成及编程步骤: 1.应用程序的组成:一个完整的Windows应用程序通常由五种类型的文件组成 1.C语言源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 5.项目文件 ...
- 使用 Java 将多个文件压缩成一个压缩文件
使用 Java 将多个文件压缩成一个压缩文件 一.内容 ①使用 Java 将多个文件打包压缩成一个压缩文件: ②主要使用 java.io 下的类 二.源代码:ZipMultiFile.java pac ...
- python traceback获取详细的异常信息
运行结果 : 用try except 会报出报错信息,但是没有具体哪个地方报错,多少行,这样不利于查找报错信息 这时我们就可以使用traceback模块 运行结果: 如上图,报错信息会具体 ...