2013-04-26 12 views
5

Wie validieren Sie einfach, dass ein Kontrollkästchen in Schienen aktiviert ist? Das Kontrollkästchen ist für eine Endbenutzervereinbarung. Und es befindet sich in einem modalen Fenster.So validieren Sie einfach ein Kontrollkästchen in Schienen

Lets sagen, dass ich das Kontrollkästchen haben:

<%= check_box_tag '' %> 


Wo und wie soll ich dies bestätigen?

Ich habe die meisten Beiträge über Kontrollkästchen Validierung in Schienen hier gesehen, aber keiner von ihnen meine Bedürfnisse.

Antwort

14

Hinzufügen

validates :terms_of_service, :acceptance => true 

zu Ihrem Modell sollte es tun. Weitere Einzelheiten und Optionen finden Sie unter here.

Wenn jedoch die Bedingungen akzeptieren nicht Teil eines Formulars für Ihr Modell ist, sollten Sie die clientseitige Validierungen verwenden, dh Sie JavaScript, um wie folgt aus (in jQuery):

function validateCheckbox() 
{ 
    if($('#checkbox').attr('checked')){ 
     alert("you have to accept the terms first"); 
    } 
} 

können Sie ein Skript hinzufügen Datei auf Ihrer Ansicht wie folgt aus:

<%= javascript_include_tag "my_javascipt_file" %>

und lösen die Funktion auf Klick:

<%= submit_tag "Submit", :onclick: "validateCheckbox();" %>

EDIT: Sie können eine ID zu Ihrem Checkbox wie folgt vergeben: check_box_tag :checkbox. Der HTML-Code sieht dann wie folgt aus: <input id="checkbox" Weitere Optionen finden Sie unter these examples.

+0

In diesem Fall, wie würde ich die Checkbox "benennen"? – geirmash

+0

@ user2019492 - sehen Sie bitte die bearbeiten – kostja

+2

kostja ziemlich nett explaination liefert aber ich persönlich die Akzeptanz Validierung sowohl clientseitige und in meinem Controller lieber tun, dann akzeptiert, wenn übermittle ich die aktuelle Zeit für ein User-Modell sagen lässt, um seine " acceptance_conditions_at "Attribut so, dass ich die Bedingungen leicht verwalten und wieder akzeptieren lassen kann, wenn sie sich aus irgendeinem Grund ändern – dennis

Verwandte Themen