Schienen: bestätigen Sie mit Argumenten
Ich bin mit Rails 3.0.3, wo ich durchaus eine umfangreiche Validierung.
Möchte ich eine Validierung, wo ich prüfen, ob eine bestimmte variable ist ein richtige Datum
Im Grunde das ist, was ich tun will ist:
def validate_date(this_date)?
begin
Date.parse(this_date)
rescue
proper_date = false
else
proper_date = true
end
end
und rufen Sie diese Methode in meinem model mit:
attr_accessor :given_date
validate_date(given_date)
aber auch an einem anderen Ort in meinem Validierung-Datei mit zum Beispiel:
attr_accessor :another_date
validate_date(another_date)
oder etwas ähnliches...
Was muss ich tun, um diese Arbeit zu machen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie tun sollten, ist so etwas ähnliches wie nkm Antwort:
Oder Sie erstellen validator für Ihren Termin und verwenden Sie es, wie Sie standard-Validatoren.
Finden Dokumentation, wie Sie einen benutzerdefinierten validator-wenn Sie lieber halten Sie Ihre Modelle Reiniger.
den Sie hinzufügen möchten, Fehler, anstatt false, so dass Sie stattdessen verwenden möchten:
Meine Meinung ist, dass Sie nicht tun sollten, dass in den ersten Platz. Die Validierungen auftreten, gegen die Attribute des Modells, nicht gegen irgendwelche input-Argumente auf die Validierung von Methoden.
Das folgende tun:
Dieser code oben geht davon aus, dass Sie ein Attribut
date_attribute
in IhremModel
. Dementsprechend ändern.Vorausgesetzt this_date ist das Attribut(Spaltenname) wir müssen überprüfen, können wir die folgenden,
Referenz: http://guides.rubyonrails.org/active_record_validations_callbacks.html#using-a-symbol-with-if-and-unless