Das Thema scheint ja sehr leidvoll zu sein und ich habe es auch schon öfters im Forum gelesen aber keine wirkliche Lösung gefunden.
Ich bin jetzt so weit, dass die success Methode vom Controller einen JSON String in Form von:
{"NodeFormModel_name":["Name darf nicht leer sein."],
"NodeFormModel_type":["Type darf nicht leer sein."],
"NodeFormModel_wheelchair":["Wheelchair darf nicht leer sein."],
"NodeFormModel_lon":["Lon darf nicht leer sein."],
"NodeFormModel_lat":["Lat darf nicht leer sein."]}
zurückbekommt. Meine Frage ist nun, wie bekomme ich die Fehlermeldungen am einfachsten in die dafür vorgesehenen Errorboxen des Formulars?? Bin ein echter JQuery noob und wäre für jede Hilfestellung dankbar.
Gibt es vielleicht eine fertige Methode dafür oder brauche ich eine Schleife die über das Array iteriert?
Edit: ClientValidation ist auch aktiviert in dem Formular, vielleicht könnte man die Fehler auch anzeigen indem man irgendwie vortäuscht das betroffene Formular verlassen zu haben mit dem Cursor?
Ich versteh deine Frage leider nicht ganz: Verwendest du CActiveForm oder ein selbstgebasteltes Standardformular? Weil CActiveForm kümmert sich eigentlich um alle Fehlermeldungen/Validierungen etc. und den JS code der dafür nötig ist. mit einer Syntax a la
$form->error($model,'deinFeldName');
wird zB standardmäßig ein Feld gerendert welches etwaige Fehler des Attributs "deinFeldName" anzeigt. Wenn du ajaxValidation bzw. clientValidation einsetzt müsste das ohne großartige Hacks funktionieren.
Serverseitig kann man zB ajax requests so validieren:
Ich habe genau solch ein Formular, das Problem ist, das validateOnSubmit nicht triggert wenn man einen AjaxSubmitButton benutzt. Ich render das Formular nach absenden nicht neu sozusagen. Deshalb muss ich die Fehlermeldungen manuell anzeigen.