活動通中註冊資訊的驗證都是自己寫**驗證的,重構改為用rails自帶的驗證機制驗證的,即用validates驗證。
user模型中對存在性的驗證是使用 validates 方法,傳入 presence: true 引數,如下:
class user < activerecord::base
validates :name, presence: true或者
validates(:name, presence: true)
end
還可以加上長度驗證:
validates :name, presence: true, length:
也可以格式驗證,比如對email的驗證:
valid_email_regex = /\a[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format:
其中將正規表示式定義為常量 valid_email_regex,ruby 中的常量都是以大寫字母開頭的。
[*]/\a[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i 完整的正規表示式
/ 正規表示式開始
\a 匹配字串的開頭
[\w+\-.]+ 乙個或多個字母、加號、連字元、或點號
@ 匹配 @ 符號
[a-z\d\-.]+ 乙個或多個小寫字母、數字、連字元或點號
\. 匹配點號
[a-z]+ 乙個或多個小寫字母
\z 匹配字串結尾
/ 結束正規表示式
i 不區分大小寫
唯一性驗證:
validates :email, presence: true, format: , uniqueness: true
validates :email, presence: true,
format: ,
uniqueness:
Rails中的validate校驗
可以使用validates presence of方法宣告模型類別非空驗證 validates presence of name,message 姓名不能為空 validates presence of message 性別不能為空 還可一次為多個屬性驗證 validates presence of...
rails中用extjs遇到乙個問題
今天看extjs自己的build系統,突然產生乙個想法 根據頁面需要,我們也許可以定製需要包含的extjs庫的內容。1.每個頁面在包含js時可以設定自己的元件,例如 rhtml ext get core utilities grid core core state management data c...
特殊驗證validate
jquery.validator.addmethod bytemaxlength function value,element,param returnthis.optional element length param validator.format 不能超過個位元組 乙個中文字算2個位元組 j...