Date_select Validierung

Hi,

ich habe einigen Ärger mit dem date_select helper.
Ich lasse die drei Felder für die Eingabe eines Geburtsdatums mit <%=
form.date_select(:geburtstag, :start_year=>1910, :include_blank=>false,
:order=>[:day, :month, :year]) %> ausgeben.
Wenn ich nun prüfen will, ob die Felder leer sind
(validates_presence_of) oder der user volljährig ist wird nur das
Datumsfeld als fehlerhaft markiert. Um das zu umgehen habe ich überlegt
den div, der die felder enthält komplett rot zu färben.
Gibt es dazu eine elegante Möglichkeit?
Ich habe überlegt zu überprüfen, ob error_messages_for die fehlermeldung
enthält, die ich hinzufüge, wenn die altersvalidierung nicht klappt. In
dem Fall soll der div rot werden. Aber auch hier scheitert es an der
Umsetzung. ich weiß nicht wie ich prüfen soll, ob die Fehlermeldung
ausgegebwn wird.

Danke schon mal
Kim

Hallo Kim,

bist du schon weitergekommen? Ansonsten hätte ich vielleicht ein Tipp
zu den Fehlermeldungen:
http://www.softiesonrails.com/2008/4/23/better-messages-for-activerecord-validation-errors

Ansosten kannst du dir unter /config/initializers eine Datei ablegen
mit folgendem:

Ändern des fehlenden Eingabefelds

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance_tag|
#{html_tag}
end

Hier kann definiert werden, wie das Feld im Fehlerfall gerendert wird.

Hast du das mit der Altervalidierung hinbekommen?

HTH und
GrüßeBeate

Guten Morgen,

die Internetadresse bringt mich nicht weiter, trotzdem danke :wink:

Nachdem ich mir die Zähne daran ausgebissen habe und nie zum gewünschten
Ergebnis gekommen bin habe ich das Problem nicht mit rails, sondern mit
Javascript gelöst:
Ich habe einfach ein Textfeld mit dem Attribut readonly genommen. Das
lasse ich dann von einem Javascrip Kalender füllen. Der Kalender lässt
nur korrekte Daten zu (also volljährig und nicht z.B. den 31.2.), die
dann dank readonly nicht vom User verändert werden können.
Es hat anfangs noch ein bisschen gezicke mt dem Speichern in die
Datenbank gegeben, aber jetzt läuft es so :slight_smile: Ich finde es sogar
eleganter, weil gar nicht die Möglichkeit besteht ein falsches Datum
einzugeben.

Irgendwie werde ich nicht warm mit rails :frowning:

Gruß
Kim