驗(yàn)證值唯一性
class User < ActiveRecord::Base
validates_uniqueness_of :email
end
基于多個(gè)參數(shù)指定唯一值
class Schedule < ActiveRecord::Base
validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
end
配置選項(xiàng):
:message - 指定自定義錯(cuò)誤信息
驗(yàn)證數(shù)據(jù)長度
class User < ActiveRecord::Base
validates_uniqueness_of :email
validates_length_of :email, :within => 5..50
end
可用選項(xiàng)
:minimum 指定最小長度
:maximum 指定最大長度
:is 指定特定的長度
:within 指定范圍值,如上面的5..50
:allow_nil 長度允許為空
:too_long 指定超出最大長度的錯(cuò)誤信息
:too_short 指定沒有滿足最小長度的錯(cuò)誤信息
:wrong_length 沒有滿足長度要求的信息
:message 指定錯(cuò)誤信息
通過正則驗(yàn)證數(shù)據(jù)
class User < ActiveRecord::Base
validates_uniqueness_of :email
validates_length_of :email, :within => 5..50
validates_format_of :email, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i
end
驗(yàn)證確認(rèn)值
class User < ActiveRecord::Base
validates_uniqueness_of :email
validates_length_of :email, :within => 5..50
validates_format_of :email, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i
validates_confirmation_of :password
end
當(dāng)我們添加validates_confirmation_of
之后,模型會自動添加一個(gè)password_confirmation
屬性來匹配password
肾筐。
驗(yàn)證布爾值
validates_acceptance_of
模型回調(diào)函數(shù)
? before_create
? after_create
? before_save
? after_save
? before_destroy
? after_destroy
更新模型
rails generate migration rename_password_to_hashed_password
重命名字段名稱