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的更多相关文章

  1. ruby on rails validates uniqueness

    最近在处理一个小功能,每个元素可以有多个图片,每个图片的name表示了它是背景图还是海报图, 需要对每个元素的图片name做一个唯一性验证,一个元素不能添加两个海报图, 需要使用的是validates ...

  2. 在特定的action里使用validates

    http://guides.rubyonrails.org/v3.0.8/active_record_validations_callbacks.html#on 在特定的action里使用valida ...

  3. PHPActiveRecord 学习一

    #连接数据库 <?phprequire_once dirname(__FILE__) . '/../../ActiveRecord.php'; // initialize ActiveRecor ...

  4. 5-13 Rspec实际; validates处理Errors, TDD, 单元测试和验收测试,capybara

    validates处理验证错误:详见ActiveModel::Errors文档 一,errors ActiveModel::Errors的实例包含所有的❌.每个错误:key是每个属性的name, va ...

  5. ruby on rails validates

    validates :conclusion, :presence => true, :inclusion => { :in => [0,1] } validates :email, ...

  6. rails 常用的验证方法 validates (转)

    Agile Web Development with Rails 17.4 validation validate              在save的时候激活validate_on_create  ...

  7. jsViews validates(验证)

          概述:jsViews使得前端开发过程将js代码与html分离,通过模板实现数据与html元素关联,通过绑定方法用数据填充模板,达到渲染html要素的目的.采用该方法后js文件中再也不会出现 ...

  8. PHPActiveRecord 学习三

    #事务处理 注意事务 数据库要用InnoDB引擎 $c1 = User::connection(); try { //开启事务 $c1->transaction(); //sql语句 $sql ...

  9. PHPActiveRecord 学习二

    ORM关联查询 a.一对多 针对外键来说 谁属于谁 谁有谁 user表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `na ...

随机推荐

  1. 【函数】SAS宏的特殊字符引用【转载】

    原文地址  :  http://blog.chinaunix.net/uid-675476-id-2076827.html 在SAS宏中,字符串是用双引号括起来的,但如果字符串中要包含双引号或百分号等 ...

  2. spring 之 lookup-method & replaced-method II

    显然, lookup-method 的name 对应的方法 是可以有方法参数的, 但是, 我发现, 参数无法传递, 传过去的参数好像被丢入了黑洞一般... 非常奇怪. lookup-method 的n ...

  3. 13. 字符串转为json对象或json数组

    ##########1.json字符串转json数组########### var str="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30 ...

  4. Mysql 储存引擎

    查看当前版本支持哪些储存引擎 mysql> show engines; InnoDB 支持事务机制 : 保证操作安全性 行级锁定 : 开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 ...

  5. 【转】Intro to ShockBurst/Enhanced ShockBurst

    原地址https://devzone.nordicsemi.com/b/blog/posts/intro-to-shockburstenhanced-shockburst Wireless PC ac ...

  6. FDLocalSQL

    FDLocalSQL http://docwiki.embarcadero.com/Libraries/Berlin/en/FireDAC.Phys.SQLiteVDataSet.TFDLocalSQ ...

  7. 深度学习原理与框架-神经网络-cifar10分类(代码) 1.np.concatenate(进行数据串接) 2.np.hstack(将数据横着排列) 3.hasattr(判断.py文件的函数是否存在) 4.reshape(维度重构) 5.tanspose(维度位置变化) 6.pickle.load(f文件读入) 7.np.argmax(获得最大值索引) 8.np.maximum(阈值比较)

    横1. np.concatenate(list, axis=0) 将数据进行串接,这里主要是可以将列表进行x轴获得y轴的串接 参数说明:list表示需要串接的列表,axis=0,表示从上到下进行串接 ...

  8. English-英语学习杂志及资料

    [英文原版杂志] >>经济学人 英文原版PDF+双语版+文本音频 超全下载!http://bbs.zhan.com/thread-8443-1-1.html?sid=2004 >&g ...

  9. swarm on ubuntu

    转自:https://www.cnblogs.com/jsonhc/p/7862518.html 由于在centos7系统上使用docker-machine安装的swarm实现服务的负载均衡一直失败, ...

  10. Delphi的程序单元、结构、基础知识(转)

    Object Passal的程序结构很特殊,与其它语言如C++,Object Windows等结构都不同.一个Delphi程序由多个称为单元的源代码模块组成.使用单元可以把一个大型程序分成多个逻辑相关 ...