2017-02-09 3 views
0

Ich möchte archivieren, dass die Anmeldeformular einen Validierungsfehler geben, wenn das Kontrollkästchen "Bedingungen akzeptieren" nicht aktiviert ist. Aus irgendeinem Grund erscheinen die Überprüfungsmeldungen für alle Felder korrekt, aber nicht für dieses Kontrollkästchen.Formular akzeptieren Begriffe ist nicht validiert

Benutzer/new.html.erb:

<%= form_for(@user, url: signup_path) do |f| %> 

      <%= render 'shared/error_messages' %> 

      <%= f.text_field :name, class: "login", placeholder: :name 

      ...more fields... 

      <%= f.check_box :agreement, class: "field login-checkbox" %> 
      <label class="choice" for="Field"><%= t("agree_terms") %></label> 

      <%= f.submit t("register"), class: "button btn btn-primary btn-large" %> 

<% end %> 

models/user.rb:

class User < ActiveRecord::Base 

     validates :name, presence: true, length: { maximum: 50 } 
     validates :password, presence: true, length: { minimum: 6 }, allow_nil: true 

     # this is the validation 
     validates :agreement, acceptance: { accept: true } 

... 
end 
+0

Hinzufügen 'allow_nil: false' hat den Trick! – Kai

+0

jetzt wird das Feld immer als "nicht überprüft" validiert, auch wenn es aktiviert ist ... – Kai

Antwort

Verwandte Themen