站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ThinkPHP开发指南-模型之自动验证
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP开发指南-模型|上一页]]</span> <div style="clear:both;"></div> 类型检查只是针对[[数据库]]级别的验证,所以系统还内置了数据对象的自动验证功能来完成模型的业务规则验证,而大多数情况下面,数据对象是由表单提交的$_POST数据创建。需要使用系统的自动验证功能,只需要在Model类里面定义$_validate属性,是由多个验证因子组成的数组,支持的验证因子格式: '''PHP代码''' <pre> array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间) </pre> *验证字段:需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。(必须) *验证规则: 要进行验证的规则,需要结合附加规则(必须) *提示信息: 用于验证失败后的提示信息定义(必须) *验证条件:(可选) '''PHP代码''' <pre> Model::EXISTS_TO_VAILIDATE 或者0 存在字段就验证 (默认) Model::MUST_TO_VALIDATE 或者1 必须验证 Model::VALUE_TO_VAILIDATE或者2 值不为空的时候验证 </pre> '''附加规则''': 配合验证规则使用(可选),包括: *regex 使用正则进行验证,表示前面定义的验证规则是一个正则表达式(默认) *function 使用函数验证,前面定义的验证规则是一个函数名 *callback 使用方法验证,前面定义的验证规则是当前Model类的一个方法 *confirm 验证表单中的两个字段是否相同,前面定义的验证规则是一个字段名 *equal 验证是否等于某个值,该值由前面的验证规则定义 *in 验证是否在某个范围内,前面定义的验证规则必须是一个数组 *unique 验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值 系统还内置了一些常用正则验证的规则,可以直接使用,包括:require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字,这些验证规则可以直接使用。验证时间:(可选) '''PHP代码''' <pre> Model:: MODEL_INSERT 或者1新增数据时候验证 Model:: MODEL_UPDATE 或者2编辑数据时候验证 Model:: MODEL_BOTH 或者3 全部情况下验证(默认) </pre> '''示例:PHP代码''' <pre> 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’), // 自定义函数验证密码格式 ); </pre> 当使用系统的create方法创建数据对象的时候会自动进行数据验证操作,代码示例: '''PHP代码''' <pre> $User = D("User"); // 实例化User对象 if (!$User->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 exit($User->getError()); }else{ // 验证通过 可以进行其他数据操作 } </pre> 通常来说,每个数据表对应的验证规则是相对固定的,但是有些特殊的情况下面可能会改变验证规则,我们可以动态的改变验证规则来满足不同条件下面的验证: '''PHP代码''' <pre> $User = D("User"); // 实例化User对象 $validate = array( array('verify','require','验证码必须!'), // 仅仅需要进行验证码的验证 ); $User-> setProperty("_validate",$validate); $result = $User->create(); if (!$result){ // 如果创建失败 表示验证没有通过 输出错误提示信息 exit($User->getError()); }else{ // 验证通过 可以进行其他数据操作 } </pre> [[category:ThinkPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)