Rails中的validate校驗

2021-07-07 01:41:45 字數 2296 閱讀 1476

可以使用validates_presence_of方法宣告模型類別非空驗證:

validates_presence_of(:name,:message =>"姓名不能為空" )

validates_presence_of(:***,:message =>"性別不能為空" )

還可一次為多個屬性驗證:

validates_presence_of(:name,:address)

validates_uniqueness_of方法可以宣告指定屬性的唯一性校驗,validates_uniqueness_of方法還可以接收下面可選選項:

:scope選項:表示基於多個引數的唯一屬性值。

:case_sensitive選項:指定在執行唯一性驗證時是否區分大小寫,預設區分大小寫。

:allow_nil選項,是否允許nil值,預設為false

:allow_bank選項:是否允許空值,如果為true將會跳過屬性值為空的校驗

validates_uniqueness_of(:name,:message=>"不唯一")

可以使用validates_length_of方法和validates_size_of方法驗證資料長度是否滿足約束條件,除了接收:message屬性和:on屬性外還可以接收以下屬性

:minimum選項:定義屬性值的最小長度。

:maximum選項:定義屬性值的最大長度。

:is選項:定義屬性值的精確長度。

:within選項:定義屬性值長度的有效範圍。

:allow_nil選項:宣告屬性是否允許為nil,如果允許,則跳過校驗。

:too_long選項:定義屬性值太長時使用錯誤資訊。

:too_short選項:定義屬性太短時使用的錯誤資訊。

:wrong_length選項:定義屬性值不匹配時的錯誤資訊。

validates_length_of(:address,:maximum=>50,too_long=>"輸入的值太長")

使用validates_numericality_of方法可以驗證屬性的值是否為數值。除了:message和:on可選項外還可以接收如下可選項。

:only_integer選項:宣告屬性值是否為整數數值。

:greater_than選項:宣告屬性的值必須大於該選項指定的值。

:greater_than_or_equal_to選項:宣告屬性的值必須大於或等於該選項指定的值。

:equal_to選項:宣告屬性的值必須等於該選項指定的值。

:less_than選項:宣告屬性的值必須小於該選項指定的值。

:less_than_or_equal_to選項:宣告屬性的值必須小於或等於該選項指定的值。

:odd選項:宣告使用者輸入的必須是奇數。

:even選項:宣告使用者輸入的數必須時偶數。

validates_numericality_of(:year ,:only_integer =>true,:greater_than =>1910,:less_than => 2011,:message =>"出生年份必須在1910到2023年之間")

使用validates_format_of方法可以使用正規表示式來驗證指定屬性的值,可以接收:message,:on,:allow_nil,allow:blank,if選項,還可以接收:with選項接收乙個正規表示式:

validates_format_of(:phone,:with => /((0\d|\d)-(\d|\d))|(1\d)/,:message =>"**號碼格式錯誤")

確認校驗,當輸入比較重要又複雜的資料時讓使用者多次輸入防止出錯,可以使用validates_confirmation_of 方法。

使用validates_confirmation_of方法對name 屬性進行校驗:

validates_confirmation_of(:name,:message=>"兩次輸入不同!")

在檢視表單中使用乙個虛擬物件屬性name_confirmation,並新增乙個確定輸入的項

姓名:

<%= f.text_field :name %>

請填寫您的真實姓名

確認姓名:

<%= f.text_field :name_confirmation %>

其他驗證方法

jQuery中的validate校驗

一款優秀的表單驗證外掛程式 validation外掛程式 特點 幫助文件位置 目錄結構 validate是jquery外掛程式,其必須在jquery的基礎上進行執行。所以要匯入jquery庫 validate庫 國際化資源庫 可選 validate需要手動的宣告,對哪個表單進行校驗,手動方式可以使用...

eclipse中validate的作用及如何禁用

匯入專案後每次只要啟動專案都會發現右下角顯示validating 看著好煩啊,電腦效能不佳的話很容易被卡死。於是我再也不想看到這個功能了,看見就煩。但是又不知道關閉以後對專案有沒有影響。上網經過搜尋後,終於弄明白了。首先,validationg這個英文單詞就是驗證的意思。該功能用於檢測 存在的 潛在...

jQuery外掛程式中validate的使用

validate簡介 自帶驗證規則,包括必填,數字,url等 驗證提示資訊 就是驗證失敗時候的提示資訊,要想顯示中文需要外掛程式支援 多種事件觸發,不僅可以在提交 單擊submit型別的按鈕 時,還可以在keyup,blur事件中觸發驗證 4.允許自定義驗證規則 validate使用方法 引入jqu...