关于thinkphp 中的字段自动检查机制

在thinkphp中有很好用的自动检查机制$_validate() 但是必须与create接收配合使用 可以很方便的帮助我们去判断

namespace Home\Model;
use Think\Model;
class UserModel extends Model{
protected $_validate = array(
array(‘verify‘,‘require‘,‘验证码必须!‘), //默认情况下用正则进行验证
array(‘name‘,‘‘,‘帐号名称已经存在!‘,0,‘unique‘,1), // 在新增的时候验证name字段是否唯一
array(‘value‘,array(1,2,3),‘值的范围不正确!‘,2,‘in‘), // 当值不为空的时候判断是否在一个范围内
array(‘repassword‘,‘password‘,‘确认密码不正确‘,0,‘confirm‘), // 验证确认密码是否和密码一致
array(‘password‘,‘checkPwd‘,‘密码格式不正确‘,0,‘function‘), // 自定义函数验证密码格式
);
}

时间: 2024-10-10 20:45:04

关于thinkphp 中的字段自动检查机制的相关文章

thinkPHP中的三大自动

class UserModel extends Model{ protected  $_validate=array( //下面还需要再写数组.一个数组就是一条验证规则 //array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间'), //验证字段:需要验证的表单字段名称,也可以表单当中的一些辅助字段,例如验证码,附加码,重复密码等 //验证规则,验证规则必须要结合附加规则一起使用 //错误提示:如果出现错误,抛出一个什么样的错误提示告知用户 //验证条件:

ThinkPHP中create()方法自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方法没有数据即返回值为fals

mongoengine中collection名字自动生成机制浅探

项目碰到要使用mongodb的场景,以前只听过这一强大的文档数据库,但一直没有真正使用过,参考一下项目中已有的使用代码,是通过import mongoengine这一模块实现python服务对db中collection的增删查改. mongoengine的项目网站http://mongoengine.org 中介绍到: MongoEngine is a Document-Object Mapper (think ORM, but for document databases) for worki

ThinkPhP中model字段映射 $_map

1 <?php 2 class UserModel extends RelationModel{ 3 /**将表单中的name映射到该表中的username**/ 4 protected $_map = array( 5 'name' => 'username', 6 ); 7 /*所以在表单提交时不需要改变表单中的'name'名称 8 *当要读出'name'的值时,表中存在的是username,所以,需要用函数转化 9 *$data = $User->parseFieldsMap($d

关于ThinkPHP中的时间自动填充

<?php class NewsModel extends Model{ protected $_auto = array( array('time_at','mydate','1','callback'), ); protected function mydate(){ return date("Y-m-d H:i:s"); } } ?> 前提条件是:time_at 在数据库里的类型为datetime,必须用callback不能用function. 而functiont和

oracle 数据表中实现字段的自动增长

由于一直用的是Mysql数据库,今天刚好心血来潮,想着和Java都是同一个老板出来的oracle自己却不会,说出去会不会有点丢人,故就开始翻资料,看视频搞起来,一步一个脚 印,想着写点什么,就开始从创建表开始吧,好了,废话不多说了,开始上正题创建一个表: User表: create table user(    id number(5,0) not null primary key auto_increment,    deptid number(5,0) not null,    userna

winform中的 datagriview 字段自动填充长度

在winfrom 的 datagridview 中 绑定字段 经常回在最后面空出一部分来,显得不美观, 现在教大家如何让它自适应宽度 public static void Autogrid(DataGridView dt) { int width = 0; for (int i = 0; i <dt.Columns.Count; i++) { //将每一列都调整为自动适应模式 dt.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCel

Access中出现改变字段“自动编号”类型,不能再改回来!(已解决)

一次把access中的自增字段改成了数值,再改回自增时,提示:在表中输入了数据之后,则不能将任何字段数据类型改为"自动编号"错误,解决方法: 1.先右键表,设计,打开字段设计状态. 2.把你要改的自增字段删除掉. 3.在最后面新增一个字段(与删除的字段同名),设为自动编号即可. Access中出现改变字段"自动编号"类型,不能再改回来!(已解决)

ThinkPHP中where()方法的使用

where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议. 字符串条件 使用字符串条件直接查询和操作,例如: $User = M("User"); // 实例化User对象     $User->where('type=1 AND status=1')->select(); 最后生