3 Stimmen

Yii: Ajax-Validierung für dynamisch erstellte Felder

Ich habe ein Formular mit CActiveForm erstellt und die HTML-Ausgabe sieht ungefähr so aus

...
    <tr>
        <td><input class="span9" placeholder="Type in the seminar title" name="CvSeminar[0][title]" id="CvSeminar_0_title" maxlength="255" value="Some Value" type="text">        <span class="help-inline error" id="CvSeminar_0_title_em_" style="display: none"></span>    </td>
        <td><input class="span1" name="CvSeminar[0][yearIssued]" id="CvSeminar_0_yearIssued" maxlength="4" value="2009" type="text">        <span class="help-inline error" id="CvSeminar_0_yearIssued_em_" style="display: none"></span>    </td>
        <td><a href="#" class="removeSeminarRow"><i style="margin-top: 10px" class="icon-remove"></i></a></td>
    </tr>
    <tr>
        <td><input class="span9" placeholder="Type in the seminar title" name="CvSeminar[1][title]" id="CvSeminar_1_title" maxlength="255" value="Some Value" type="text">        <span class="help-inline error" id="CvSeminar_1_title_em_" style="display: none"></span>    </td>
        <td><input class="span1" name="CvSeminar[1][yearIssued]" id="CvSeminar_1_yearIssued" maxlength="4" value="2006" type="text">        <span class="help-inline error" id="CvSeminar_1_yearIssued_em_" style="display: none"></span>    </td>
        <td><a href="#" class="removeSeminarRow"><i style="margin-top: 10px" class="icon-remove"></i></a></td>
    </tr>
...

Wie Sie sehen können, habe ich einen Bereich erstellt, in dem jede Zeile zwei Felder enthält. Ich habe auch eine Schaltfläche erstellt, mit der ein Benutzer eine neue Zeile hinzufügen kann. Die HTML-Ausgabe, wenn der Benutzer die Schaltfläche drückt, ist:

<tr>
   <td><input class="span9" placeholder="Type in the seminar title" name="CvSeminar[1000][title]" id="CvSeminar_1000_title" maxlength="255" type="text"><span class="help-inline error" id="CvSeminar_1000_title_em_" style="display: none"></span></td>
   <td><input class="span1" name="CvSeminar[1000][yearIssued]" id="CvSeminar_1000_yearIssued" maxlength="4" type="text"><span class="help-inline error" id="CvSeminar_1000_yearIssued_em_" style="display: none"></span></td>
   <td><a href="#" class="removeSeminarRow"><i style="margin-top: 10px" class="icon-remove"></i></a></td>
</tr>

Mein Problem beginnt, wenn ich eine neue Zeile anlege und sie leer lasse. Die Ajax-Validierung auf der Server-Seite funktioniert gut. Yii antwortet mit json, dass das neue Feld Fehler hat.

{"CvSeminar_1000_title":["Title cannot be empty."],"CvSeminar_1000_yearIssued":["Year cannot be empty"]}

Das Problem liegt auf der Client-Seite. Da yiiactiveform nichts über die neu hinzugefügte Zeile weiß, wie kann ich yiiactiveform aktualisieren, um die neu hinzugefügten Felder aufzunehmen?

Gracias

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X