PHPActiveRecord validates
validates_presence_of
#检测是不是为空 为空的话可以抛出异常 *Model类:
static $validates_presence_of = array(
array('title', 'message' => '不能为空')
); 实例化后:
$user = new User(array('name'=>''));
$user->save(); var_dump($user->errors->on('name')); #=> 不能为空
validates_size_of
#对字符串长度的限制
*Model类:
static $validates_size_of = array(
array('name',
'within' => array(1,5),
'too_short' => 'too short!',
'too_long' => 'should be short and sweet')
);
validates_exclusion_of
#对词语的屏蔽
*Model类:
static $validates_exclusion_of = array(
array('name', 'in' => array('god', 'sex', 'password', 'love', 'secret'),
'message' => 'should not be one of the four most used name')
);
validates_format_of
#正则匹配
*Model类:
static $validates_format_of = array(
array('email', 'with' =>
'/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/')
array('password', 'with' =>
'/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/', 'message' => 'is too weak')
);
validates_numericality_of
#对数字大小的限制
*Model类:
static $validates_numericality_of = array(
array('price', 'greater_than' => 0.01),
array('state', 'only_integer' => true),
array('shipping', 'greater_than_or_equal_to' => 0),
array('discount', 'less_than_or_equal_to' => 5, 'greater_than_or_equal_to' => 0)
);
validates_uniqueness_of
#唯一性的限制
*Model类:
static $validates_uniqueness_of = array(
array('name', 'message' => 'blah and bleh!')
);
*实例化:
User::create(array('name' => 'Tito'));
$user = User::create(array('name' => 'Tito'));
$user->is_valid(); # => false
before_validation_on_create
#验证之前执行方法
// setup a callback to automatically apply a tax
static $before_validation_on_create = array('apply_tax'); public function apply_tax()
{
if ($this->person->state == 'VA')
$tax = 0.045;
elseif ($this->person->state == 'CA')
$tax = 0.10;
else
$tax = 0.02; $this->tax = $this->price * $tax;
}
PHPActiveRecord validates的更多相关文章
- ruby on rails validates uniqueness
最近在处理一个小功能,每个元素可以有多个图片,每个图片的name表示了它是背景图还是海报图, 需要对每个元素的图片name做一个唯一性验证,一个元素不能添加两个海报图, 需要使用的是validates ...
- 在特定的action里使用validates
http://guides.rubyonrails.org/v3.0.8/active_record_validations_callbacks.html#on 在特定的action里使用valida ...
- PHPActiveRecord 学习一
#连接数据库 <?phprequire_once dirname(__FILE__) . '/../../ActiveRecord.php'; // initialize ActiveRecor ...
- 5-13 Rspec实际; validates处理Errors, TDD, 单元测试和验收测试,capybara
validates处理验证错误:详见ActiveModel::Errors文档 一,errors ActiveModel::Errors的实例包含所有的❌.每个错误:key是每个属性的name, va ...
- ruby on rails validates
validates :conclusion, :presence => true, :inclusion => { :in => [0,1] } validates :email, ...
- rails 常用的验证方法 validates (转)
Agile Web Development with Rails 17.4 validation validate 在save的时候激活validate_on_create ...
- jsViews validates(验证)
概述:jsViews使得前端开发过程将js代码与html分离,通过模板实现数据与html元素关联,通过绑定方法用数据填充模板,达到渲染html要素的目的.采用该方法后js文件中再也不会出现 ...
- PHPActiveRecord 学习三
#事务处理 注意事务 数据库要用InnoDB引擎 $c1 = User::connection(); try { //开启事务 $c1->transaction(); //sql语句 $sql ...
- PHPActiveRecord 学习二
ORM关联查询 a.一对多 针对外键来说 谁属于谁 谁有谁 user表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `na ...
随机推荐
- uva-270-排序
题意:很多个点,问,最多有多少个点在同一条直线上 #include <algorithm> #include <iostream> #include <string> ...
- eclipse创建maven组合项目
创建普通maven项目作为父项目: packaging类型选择pom. 创建子项目即可(需要mvn eclipse:eclipse构建为eclipse项目)
- 转载 logback的使用和logback.xml详解 http://www.cnblogs.com/warking/p/5710303.html
logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前 ...
- leetcode329
public class Solution { bool[,] tags;//用于标记是否已经访问过,false未访问,true已访问 int[,] records;//用于标记以当前为起点的最长升序 ...
- 使用curator框架简单操作zookeeper 学习笔记
Curator 操作是zookeeper的优秀api(相对于原生api),满足大部分需求.而且是Fluent流式api风格. 参考文献:https://www.jianshu.com/p/70151f ...
- Delphi 泛型详解
http://www.cnblogs.com/jxgxy/category/216671.html
- (FireDAC) 连接定义
Defining Connection (FireDAC) 连接定义就是应用程序使用特定的FireDAC驱动连接数据库的参数集合.相当于BDE的别名,ADO的UDL,或者ODBC的DSN. For ...
- 黑马2018年JavaEE课程大纲
包含 黑马旅游网 企业级权限管理系统 品优购 十次方 乐优(没有,十次方级别) http://www.itheima.com/course/javaeetext.html 传智 ...
- RabbitMQ系列教程之二:工作队列(Work Queues)(转载)
RabbitMQ系列教程之二:工作队列(Work Queues) 今天开始RabbitMQ教程的第二讲,废话不多说,直接进入话题. (使用.NET 客户端 进行事例演示) ...
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)
Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...