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.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段 ...
随机推荐
- linux 系统调用sysconf【总结】
1.前言 当前计算机都是多核的,linux2.6提供了进程绑定cpu功能,将进程指定到某个core上执行,方便管理进程.linux提供了sysconf系统调用可以获取系统的cpu个数和可用的cpu个数 ...
- Solr坏境搭建
1.1. 搭建步骤 第一步:把solr 的压缩包上传到Linux系统 第二步:解压solr. 第三步:安装Tomcat,解压缩即可. 第四步:把dist目录下的solr.war部署到Tomcat下. ...
- Jquyer相册
点击图片然后弹出相册列表,效果如下: html代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q ...
- 【web】服务器推送的实现方式(转)
轮询 http流 websocket https://www.cnblogs.com/freud/p/8397934.html http2.0 浅谈Websocket.Ajax轮询和长连接(lon ...
- Jmeter性能测试之参数化(二)
Jmeter参数化主要有3种方式: 1. Add--> Pre Processors--> User Parameters 2. Add--> Config Element--> ...
- python的单、双、多分支流程控制
if流程控制总结: 1.当满足条件时,执行满足条件的代码. 2.当执行完if语句内代码,程序继续往下执行. 单分支: if 条件成立,执行满足条件的代码 如下: if a>50: print(' ...
- influxDB+grafana安装配置及邮件告警发送配置
1. InfluxDB安装 下载包并解压: $:wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.3.6_linux_amd64.t ...
- Python学习(三十七)—— 模板语言之自定义filter和中间件
一.模板语言之自定义filter 自定义filter文件存放位置 模板中自定义函数 - 在已注册的app中创建一个名字叫 templatetags 文件夹 - 任意创建一个py文件 - 创建名字交 r ...
- Redis常见面试题
介绍:Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API的非关系型数据库. 传统数据 ...
- JS变量重复声明以及忽略var 声明的问题及其背后的原理
腾讯的一个笔试题,先看一下 var a = 100; function fn() { alert(a); //undefined var a = 200; alert(a); //200 } fn() ...