- 浏览: 3431608 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
CakePHP 2.x CookBook 中文版 第七章 模型 之 数据校验 http://www.cnblogs.com/matchless/archive/2013/02/20/2918541.html
一些规则关键字:
'rule' => 'alphaNumeric',
'rule' => 'email',
'rule' => 'date',
'rule' => array('between', 5, 15),
'rule' => array('minLength', '8'),
'rule' => array('maxLength', '8'),
'required' => true,
'allowEmpty' => true
一个例子:
1.简单的验证:
2.一个字段的多个验证规则
3.单个规则:每个列一个规则
4.多个规则
5.自定义校验规则
A:自定义校验正则表达式
B:添加自己的校验方法
6.动态改变校验规则
A:添加新的校验规则
B:链式多次调用 add 来创建多条所需的规则
C:一次性为单个列添加多条规则
一些规则关键字:
'rule' => 'alphaNumeric',
'rule' => 'email',
'rule' => 'date',
'rule' => array('between', 5, 15),
'rule' => array('minLength', '8'),
'rule' => array('maxLength', '8'),
'required' => true,
'allowEmpty' => true
一个例子:
class User extends AppModel { public $validate = array( 'login' => array( 'alphaNumeric' => array( 'rule' => 'alphaNumeric', 'required' => true, 'message' => 'Alphabets and numbers only' ), 'between' => array( 'rule' => array('between', 5, 15), 'message' => 'Between 5 to 15 characters' ) ), 'password' => array( 'rule' => array('minLength', '8'), 'message' => 'Minimum 8 characters long' ), 'email' => 'email', 'born' => array( 'rule' => 'date', 'message' => 'Enter a valid date', 'allowEmpty' => true ) ); }
1.简单的验证:
class User extends AppModel { public $validate = array( 'login' => 'alphaNumeric', 'email' => 'email', 'born' => 'date' ); }
2.一个字段的多个验证规则
public $validate = array( 'enp_name' => array( "minLength"=>array( "rule"=>array("minLength",1), "message"=>"至少输入一个文字" ), "maxLength"=>array( "rule"=>array("maxLength",3), "message"=>"名称的个数不能大于3个" ) ) );
3.单个规则:每个列一个规则
public $validate = array( 'fieldName1' => array( 'rule' => 'ruleName', // or: array('ruleName', 'param1', 'param2' ...) 'required' => true, 'allowEmpty' => false, 'on' => 'create', // or: 'update' 'message' => 'Your Error Message' ) );
4.多个规则
public $validate = array( 'fieldName' => array( 'ruleName' => array( 'rule' => 'ruleName', // 类似 on,required 等扩展键放在这里... ), 'ruleName2' => array( 'rule' => 'ruleName2', // 类似 on,required 等扩展键放在这里... ) ) );
5.自定义校验规则
A:自定义校验正则表达式
public $validate = array( 'login' => array( 'rule' => '/^[a-z0-9]{3,}$/i', 'message' => 'Only letters and integers, min 3 characters' ) );
B:添加自己的校验方法
class User extends AppModel { public $validate = array( 'promotion_code' => array( 'rule' => array('limitDuplicates', 25), 'message' => 'This code has been used too many times.' ) ); public function limitDuplicates($check, $limit) { // $check 的值: array('promotion_code' => 'some-value') // $limit 的值: 25 $existing_promo_count = $this->find('count', array( 'conditions' => $check, 'recursive' => -1 )); return $existing_promo_count < $limit; } }
6.动态改变校验规则
A:添加新的校验规则
$this->validator()->add('password', 'required', array( 'rule' => 'notEmpty', 'required' => 'create' ));
B:链式多次调用 add 来创建多条所需的规则
// 在模型类中 $this->validator() ->add('password', 'required', array( 'rule' => 'notEmpty', 'required' => 'create' )) ->add('password', 'size', array( 'rule' => array('between', 8, 20), 'message' => 'Password should be at least 8 chars long' ));
C:一次性为单个列添加多条规则
$this->validator()->add('password', array( 'required' => array( 'rule' => 'notEmpty', 'required' => 'create' ), 'size' => array( 'rule' => array('between', 8, 20), 'message' => 'Password should be at least 8 chars long' ) ));
发表评论
-
php图片添加文字水印实现代码
2016-03-16 13:13 1137http://my.oschina.net/zyt1978/b ... -
借助phpmailer使用gmail和163邮箱发送邮件
2016-01-16 14:03 4421http://www.solagirl.net/phpmail ... -
PHP 启用Gzip 压缩进行优化
2014-12-02 22:08 1271确定服务器支持gzip compression Use PHP ... -
自定义Access-Control-Allow-Origin策略以解决字体文件跨域权限问题
2014-11-23 22:43 1992http://yuguo.us/weblog/access-c ... -
推荐 7 款类似Google Analytics 的开源程序
2014-11-14 23:30 4179http://www.aips.me/google-analy ... -
piwik安装过程
2014-11-13 23:08 981http://blog.csdn.net/gudaoqianf ... -
使用 PHP 获取并解析 JSON 显示在页面中
2014-11-05 22:44 3449http://www.qianxingzhem.com/pos ... -
PHP获得IP
2014-11-02 15:06 1128<?php function getIP() /* ... -
CakePHP的全局常量及方法
2014-10-28 14:32 1201http://docs.30c.org/cakephp/glo ... -
php日期
2014-10-21 21:04 897http://php.net/manual/zh/functi ... -
PHP生成各种验证码和Ajax验证
2014-10-08 13:47 991http://www.helloweba.com/view-b ... -
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2014-10-07 14:48 2276http://www.jb51.net/article/208 ... -
PHP中出现Notice: Undefined index的三种解决办法
2014-09-14 17:18 2557http://blog.csdn.net/stellaah/a ... -
细说websocket - php篇
2014-07-24 21:04 1223http://www.cnblogs.com/hustskyk ... -
CakePHP log(日志)操作
2013-12-07 23:19 1378http://luzl.iteye.com/blog/6537 ... -
使用PHP缩略图和剪切图
2013-11-28 23:05 1892API: resource imagecreatetrueco ... -
几个jQuery的图片裁剪插件
2013-11-28 21:02 4270http://hi.baidu.com/coffeant/it ... -
提升CakePHP网页应用速度的八大方法
2013-11-26 10:19 1192http://www.21haolou.com/article ... -
PHP URL 重定向 的三种方法
2013-11-26 10:06 1227http://my.oschina.net/qingyi090 ... -
PHP如何实现整除
2013-11-24 00:48 3413http://www.zhixing123.cn/php/27 ...
相关推荐
Learn CakePHP: With Unit Testing by Rādhārādhya Dāsa 2016 | ISBN: 1484212134 | English | 114 pages | EPUB | 1 MB Accelerate your development of PHP applications using the popular CakePHP web ...
This is a simple demo of some of the AJAX helpers now available in CAKE. These helpers are directly modeled on Ruby On Rails. In fact, they were shamelessly ported from rails almost verbatim....
### CakePHP创建验证器 #### 一、简介 在Web应用开发中,数据验证是非常重要的环节之一,它能够确保用户提交的数据符合预期的格式和规则,从而提高应用程序的安全性和用户体验。CakePHP是一款非常流行的PHP框架,...
通过Composer安装CakePHP ...$ composer require cakephp/cakephp 有关(最小/最大)PHP版本的详细信息,请参见。 运行测试 假设您使用介绍的方法之一在系统范围内安装了PHPUnit,则可以通过执行以下操作
docker-cakephp:示例Dockerfile,用于在Docker容器中部署CakePHP应用程序,能够通过基于数据库的会话连接到远程数据库
CakePHP 4.0.0 具有更新的应用程序骨架设计,带有简化的 API,使您的开发和应用程序更快。 虽然 4.0 包含许多重大更改,但我们准备了详尽的迁移指南,涵盖所有已弃用和删除的功能以及突出显示闪亮的新功能。 CakeDC...
为 CakePHP 2 选择的助手 ChosenHelper是集成HarvestHQ一类CakePHP中2.检查选择框了HarvestHQ的的文档和使用。 变更日志 现已可用。 仔细检查以确保您不会永久升级。 例如:最新版本 (2.1.0) 包括与 CakePHP 2.0.x ...
要求CakePHP 4.x Bootstrap 4.x npm 5.x jQuery 3.2+ Popper.js 1.x Fontawesome 5.x包括什么? FlashHelper(元素类型: error , info , success , warning ) FormHelper(对齐: default , inline , ...
CakePHP 的 Markdown 插件 这个插件有助于在 CakePHP 中使用 PHP Markdown PHP Markdown 是 John Gruber 编写的程序的 PHP 端口。 “Markdown”是两件事:纯文本标记语法,以及将纯文本标记转换为 HTML 以便在网络...
课程-cakephp 蛋糕PHP 使用 CakePHP 框架的 Web 应用程序开发课程
CakePHP的Moip订阅Moip订阅CakePHP 插件说明 此插件使您可以将Moip Assinaturas的所有功能用于CakePHP开发的应用程序。 Moip Assinaturas允许您按照创建计划所选择的数量和间隔自动收费。手动安装下载最新版本的插件...
CakePHP应用程序框架 使用 3.0创建应用程序的框架。 框架源代码可以在这里找到: 。 安装 下载或更新composer self-update 。 运行php composer.phar create-project --prefer-dist cakephp/app [app_name] 。 ...
Z-Ray-CakePHP CakePHP 3.0的Z-Ray扩展。 这将导致在浏览器中显示其他选项卡。 安装 创建一个根据需要命名的目录,并在其中添加此仓库的内容。 示例:(假设Zend Server的默认安装目录) /usr/local/zend/var/...
### CakePHP:从新手到专业人士 #### 一、概述 《Beginning CakePHP: From Novice to Professional》是一本由David Golding编写的书籍,旨在帮助读者掌握CakePHP框架的使用方法,从基础知识入手,逐步过渡到高级...
**CakePHP:PHP MVC框架详解** CakePHP是一个广泛使用的开源PHP框架,它基于Model-View-Controller(MVC)架构模式,旨在简化Web应用程序的开发流程,提高开发效率,并且支持快速原型制作。这个框架以其易用性、可...
phing-cakephp 介绍 这是CakePHP 2.x项目的phing配置。 Phing构建测试 ,检查代码质量( , , )并生成 。 安装PHP包 在进行配置之前,将PHP软件包安装到您的计算机上。 pecl install xdebug pear channel-...
CakePHP的可锁定行为 使用MySQL的GET_LOCK()和RELEASE_LOCK()对任何模型进行简单的并发锁定。 它需要使用MySQL。 安装插件 cd yourprojectroot git clone ...
Mandrill CakePHP插件这样可以将CakePHP 2.0中的CakeEmail与Mandrill结合使用。安装为Mandrill传输协议添加电子邮件配置。 将此添加到/app/Config/email.php 。 您可能会发现它名为email.php.default 。 public $...