0

我正在使用client_side_validation gem在我的應用中執行js驗證。我正在使用simple_form版本。client_side_validation gem - 布爾值爲複選框

我有我的權限模型一個布爾屬性被驗證

class Permission < ActiveRecord::Base 
    validates :local, :regional, :national, :inclusion => {:in => [true, false]} 
end 
在它們呈現爲複選框,其中有1或0的值的觀點

然而,讓它們永遠不會被標記爲驗證。

任何想法?

回答

0

您必須爲複選框設置:validate => false。例如。

<%= simple_form_for @permission, :validate => true do |f| %> 
    <%= f.input :name, :label => 'Name' %> 
    <%= f.label :local %> 
    <%= f.check_box :local, :validate => false %> 
    <%= f.label :national %> 
    <%= f.check_box :regional, :validate => false %> 
    <%= f.label :regional %> 
    <%= f.check_box :national, :validate => false %> 
    <%= f.button :submit %> 
<% end %> 

由於複選框的定義是真或假,客戶端驗證並不是真的必要。通過您的服務器端驗證,您仍受到惡意提交非布爾值的人的保護。

+0

謝謝 - 那正是我所做的。 – Edward