Input Validierungen, die auf den Feldern in ActiveAdmin
Wenn ich ein neues Formular erstellen, in ActiveAdmin, ich will Validierungen auf meinem Formular Eingabefelder. Aber ich kann nicht finden, eine Verwandte tutorial. Ich will einige Felder akzeptieren nur Alphabete, von denen einige nur Ziffern und einige sollten bestimmte Länge.
f.input :name, :label => "Title", input_html: { autofocus: true }
f.input :description
f.input :email
f.input :contact_number
f.input :contact_person
- HASEEB AHMAD, hast du eine chance, zu schauen, auf meine Antwort? Lassen Sie mich wissen, wenn Sie irgendeine andere Frage!
Du musst angemeldet sein, um einen Kommentar abzugeben.
[Antwort nicht nur für ActiveAdmin, aber für RoR im Allgemeinen]
Sie es tun sollten, Modell.
• Für die Ziffern nur:
Wollen Sie Ihre
:contact_number
um eine Ziffer sein, damit Ihr Modell (z.B.User
) sollte wie folgt Aussehen:• Für min. 5 Zeichen:
Beschreibung wenn zum Beispiel muss mindestens 5 Zeichen wird es sein:
• Für Briefe nur:
(details zu reg. Ausdrücke --> Validierung: Nur Buchstaben, zahlen und - )
Zusätzliche info:
Wenn Ihr Formular don ' T-pass-Modell der Validierung wird es wieder eine Warnung über falsche argument (kann in
flash[:alert]
array).Mehr darüber in:
http://guides.rubyonrails.org/active_record_basics.html#validations
Können Sie die Validierungen definiert in Ihrem entsprechenden Modell-Klasse.
Siehe die offizielle Dokumentation für Schienen validation.
ActiveAdmin
es aufnehmen werden, wenn Sie versuchen, erstellen/Bearbeiten/aktualisieren Objekte, die von diesem Modell, wenn Sie Rails standard-Validierungen oder sogar benutzerdefinierte Validierungen im Modell definierten Klasse.Beispielsweise für Ihre E-Mail-Validierung können Sie diese in Ihrem Modell:
Dann, wenn Sie versuchen, erstellen/speichern eines Objekts durch ActiveAdmin, es wird Ihnen zeigen, dass Fehler, wenn das E-Mail ist nicht im richtigen format.
Also, Sie haben zu definieren, die alle Ihre Validierung (für alle Felder, die Sie wollen) in Ihrem Modell. Das ist es!
Und zum anzeigen einer Liste aller Validierungs-Fehler, den Sie haben, zu tun:
Update
Fügen Sie diese Validierungen Ihrer Model-Klasse:
Diese Schienen sind standard-Validierungen. Sie können fügen Sie benutzerdefinierte Validierungen auf Ihr Modell zu.
Zum Beispiel, wenn Sie möchten, fügen Sie eine benutzerdefinierte Gültigkeitsprüfung für die
username
können Sie festlegen, wie diese:Und definieren Sie dann die benutzerdefinierte validator-Methode
username_must_be_valid
in der gleichen model-Klasse wie folgt aus: