日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ruby on Rails 的检验方法(Validation Helpers)大全

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ruby on Rails 的检验方法(Validation Helpers)大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://www.cslog.cn/Content/ruby_on_rails_validation_helpers

可以自定義validate(), 這個方法在每次保存數據時都會被調用.
如:
def validate
?if name.blank? && email.blank?
??errors.add_to_base("You must specify a name or an email address")
?end
end
同時也可以自定義 validate_on_create(), validate_on_update()方法.
?valid?()方法可以隨時調用,用來測試數據是否能通過校驗
返回的錯誤信息可用 error_messages_for(model)方法顯示.
如:<%= error_messages_for 'article' %>

校驗大全:
validates_acceptance_of
?指定checkbox應該選中. (如:(*)我同意條款)
?用法:validates_acceptance_of attr... [ options... ]
?參數:message text? 默認:“must be accepted.”
???:on :save, :create, or :update
?實例:
?class Order < ActiveRecord::Base
??validates_acceptance_of :terms,
??????????????:message =>?"Please accept the terms to proceed"
?end

validates_associated
?查驗指定的object.
?用法:validates_associated name... [ options... ]
?參數:message text 默認: is “is invalid.”
???:on :save, :create, or :update
?實例:
?class Order < ActiveRecord::Base
??has_many :line_items
??belongs_to :user
??validates_associated :line_items,
????????????:message =>?"are messed up"
??validates_associated :user
?end

validates_confirmation_of
?數據重校
?用法:validates_confirmation_of attr... [ options... ]
?參數:message text 默認 “doesn’t match confirmation.”
???:on :save, :create, or :update
?實例:
?對密碼表:
?<%= password_field "user", "password" %><br />
?<%= password_field "user", "password_confirmation" %><br />
?#第二表名為xxxx_confirmation
?class User < ActiveRecord::Base
??validates_confirmation_of :password
?end

validates_each
?使用block檢驗一個或一個以上參數.
?用法:validates_each attr... [ options... ] { |model, attr,?value| ... }
?參數:allow_nil boolean?設為true時跳過nil對象.
???:on :save, :create, or :update
?實例:
?class User < ActiveRecord::Base
??validates_each :name, :email do |model, attr,?value|
???if?value?=~ /groucho|harpo|chico/i
????model.errors.add(attr,"You can't be serious, #{value}")
???end
??end
?end

validates_exclusion_of
?確定被檢對象不包括指定數據
?用法:validates_exclusion_of attr..., :in => enum [ options... ]
?#enum指一切可用include?()判斷的范圍.
?參數:allow_nil 設為true將直接跳過nil對象.
???:in (or :within) enumerable?
???:message text 默認為: “is not included in the list.”
???:on :save, :create, or :update
?實例:
?class User < ActiveRecord::Base
??validates_exclusion_of :genre,
????????????:in => %w{ polka twostep foxtrot },
????????????:message =>"no wild music allowed"
??validates_exclusion_of :age,
?????????????:in => 13..19,
?????????????:message =>"cannot be a teenager"
?end

validates_inclusion_of
?確認對象包括在指定范圍
?用法:validates_inclusion_of attr..., :in => enum [ options... ]
?參數:allow_nil 設為true直接跳過nil對象
???:in (or :within) enumerable An enumerable object.
???:message text 默認:“is not included in the list.”
???:on :save, :create, or :update
?實例:
?class User < ActiveRecord::Base
??validates_inclusion_of :gender,
????????????:in => %w{ male female },
????????????:message =>"should be 'male' or 'female'"
??validates_inclusion_of :age,
????????????:in => 0..130,
????????????:message =>"should be between 0 and 130"
?end

validates_format_of
?用正則檢驗對象
?用法:validates_format_of attr..., :with => regexp [ options... ]
?參數:message text 默認為: “is invalid.”
???:on :save, :create, or :update
???:with 正則表達式
?實例:
?class User < ActiveRecord::Base
??validates_format_of :length, :with => /^"d+(in|cm)/
?end

validates_length_of
?檢查對象長度
?用法:validates_length_of attr..., [ options... ]
?參數:in (or :within) range?
???:is integer?
???:minimum integer?
???:maximum integer?
???:message text 默認文字會根據參數變動,可使用%d 取代確定的最大,最小或指定數據.
???:on :save, :create, or :update
???:too_long text 當使用了 :maximum后的 :message?
???:too_short text ( :minimum )
???:wrong_length ( :is)
?實例:
?class User < ActiveRecord::Base
??validates_length_of :name, :maximum => 50
??validates_length_of :password, :in => 6..20
??validates_length_of :address, :minimum => 10,
????????????????:message =>"seems too short"
?end

validates_numericality_of
?檢驗對象是否為數值
?用法:validates_numericality_of attr... [ options... ]
?參數:message text 默認 “is not a number.”
???:on :save, :create, or :update
???:only_integer?
?實例:
?class User < ActiveRecord::Base
??validates_numericality_of :height_in_meters
??validates_numericality_of :age, :only_integer => true
?end

validates_presence_of
?檢驗對象是否為空
?用法:validates_presence_of attr... [ options... ]
?參數:message text 默認:“can’t be empty.”
???:on :save, :create, or :update
?實例:
?class User < ActiveRecord::Base
??validates_presence_of :name, :address
?end

validates_uniqueness_of
?檢驗對象是否不重復
?用法:validates_uniqueness_of attr... [ options... ]
?參數:message text 默認: “has already been taken.”
???:on :save, :create, or :update
???:scope attr 指定范圍
?實例:
?class User < ActiveRecord::Base
??validates_uniqueness_of :name
?end

?class User < ActiveRecord::Base
??validates_uniqueness_of :name, :scope =>"group_id"
?end
?#指定在同一group_id的條件下不重復.

常用正則:

E-Mail地址格式:
validates_format_of???? :email,
??????????????????????? :with?????? => /^([^@"s]+)@((?:[-a-z0-9]+".)+[a-z]{2,})$/i,
??????????????????????? :message??? => 'email must be valid'

網址格式:
validates_uri_existence_of :url, :with =>
??????? /(^$)|(^(http|https)://[a-z0-9] ([-.]{1}[a-z0-9] )*.[a-z]{2,5}(([0-9]{1,5})?/.*)?$)/ix

轉載于:https://www.cnblogs.com/odbc/archive/2009/05/14/RubyonRailsValidationHelpers.html

總結

以上是生活随笔為你收集整理的Ruby on Rails 的检验方法(Validation Helpers)大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲天堂一区在线观看 | 色网在线免费观看 | 久久久少妇 | 黄色片视频免费 | 在线观看免费av网站 | 91免费版视频 | 99热2 | 久久久久久久久久久久91 | 国产一级做a | 91精品推荐 | 国产中文视频 | 91色交| 国产免费黄色 | 超碰加勒比 | 在线欧美亚洲 | av中文字幕免费观看 | 四虎影裤| aaa在线播放 | 国产福利91精品 | 在线观看精品一区 | 偷看洗澡一二三区美女 | 日韩成人精品一区二区 | 亚洲aaaaa特级 | 男人天堂伊人 | 奇米四色网 | 日韩av免费网站 | 一级在线免费观看 | 国产无遮挡免费观看视频网站 | 亚洲天堂无吗 | www.夜色| 午夜视频欧美 | 魔女鞋交玉足榨精调教 | 黄色av毛片 | 午夜不卡av | 不卡的av在线免费观看 | 视频一区在线播放 | 中文字幕 国产 | 中文字幕电影av | 亚洲a级精品 | 国产熟妇久久777777 | 亚洲最大成人网色 | 色欲AV无码精品一区二区久久 | 天堂国产| 手机看片福利永久 | 婷婷激情在线 | 爱啪啪导航 | 成年人一级黄色片 | 国产chinasex麻豆videos | 国产一区在线观看视频 | 日本黄网站在线观看 | 不卡中文字幕在线观看 | 亚洲第一视频区 | 精品成人av一区二区在线播放 | 亚洲欧美日本一区 | 国产真实乱人偷精品视频 | 最新国产网站 | 人妻少妇一区二区三区 | 久久久久久久国产视频 | 欧美在线va | 麻豆国产网站 | 奇米精品一区二区三区在线观看 | 狠狠人妻久久久久久综合麻豆 | 国产96视频 | 狠狠干在线 | 免费网站在线高清观看 | 亚洲大尺度在线观看 | 亚洲视频免费播放 | 先锋资源国产 | 国产三区在线视频 | 成人性生交大片免费看中文 | 成人黄色一区二区三区 | 操干视频 | 一道本久久 | 欧美精品做受xxx性少妇 | 波多野结衣一二区 | 少妇高潮惨叫久久久久久 | 人妻 日韩 欧美 综合 制服 | 免费大片在线观看www | 青青草草视频 | 三级电影网址 | 男女性杂交内射妇女bbwxz | 国产精品久久亚洲7777 | 女女高潮h冰块play失禁百合 | 国产精品久久久久久久久久久新郎 | 大奶子在线观看 | 福利电影在线播放 | 欧美香蕉 | 人人射人人射 | 久久丝袜视频 | 少妇媚药按摩中文字幕 | 少妇被按摩师摸高潮了 | 国产suv精品一区二区33 | 毛片基地视频 | 爱情岛论坛亚洲线路一 | 丁香综合网| 亚洲欧美网址 | 国产福利在线视频观看 | 欧美成人精品三级网站 | 国产吞精囗交免费视频 |