我在点击按钮时添加了一个带jQuery的表行:
$("#add_row").click(function () {
zeile++;
$("#ArtikelTabelle > tbody").append('<tr id="reihe' + zeile + '">' +
'<td rowspan="2"><b>' + (zeile + 1) + '</b></td>' +
'<td><input class="form-control" id="ccTabelle_' + zeile + '__ccArtikelNr" name="ccTabelle[' + zeile + '].ccArtikelNr" type="text" /></td>' +
'<td><input class="form-control" id="ccTabelle_' + zeile + '__ccWarentarifNr" name="ccTabelle[' + zeile + '].ccWarentarifNr" type="text" /></td>' +
'<td><input class="form-control" data-val="true" data-val-number="Das Feld "Anzahl" muss eine Zahl sein." data-val-required="Das Feld "Anzahl" ist erforderlich." id="ccTabelle_' + zeile + '__ccAnzahl" name="ccTabelle[' + zeile + '].ccAnzahl" type="text" /></td>' +
'<td><input class="form-control" data-val="true" data-val-number="Das Feld "Einzelpreis" muss eine Zahl sein." data-val-required="Das Feld "Einzelpreis" ist erforderlich." id="ccTabelle_' + zeile + '__ccEinzelpreis" name="ccTabelle[' + zeile + '].ccEinzelpreis" type="text" /></td>' +
'<td><input class="form-control" data-val="true" data-val-number="Das Feld "Gesamtpreis" muss eine Zahl sein." data-val-required="Das Feld "Gesamtpreis" ist erforderlich." id="ccTabelle_' + zeile + '__ccGesamtpreis" name="ccTabelle[' + zeile + '].ccGesamtpreis" type="text" /></td>' +
'<td><input class="form-control" data-val="true" data-val-number="Das Feld "Anzahl Pakete" muss eine Zahl sein." data-val-required="Das Feld "Anzahl Pakete" ist erforderlich." id="ccTabelle_' + zeile + '__ccAnzahlPakete" name="ccTabelle[' + zeile + '].ccAnzahlPakete" type="text" /></td>' +
'<td><input class="checkbox-inline" data-val="true" data-val-required="Das Feld "Fertig verpackt?" ist erforderlich." id="ccTabelle_' + zeile + '__ccFertigVerpackt" name="ccTabelle[' + zeile + '].ccFertigVerpackt" type="checkbox" /><input name="ccTabelle[' + zeile + '].ccFertigVerpackt" type="hidden" /></td>' +
'<td rowspan="2"><a class="btn btn-default delete_row" data-rowid="' + zeile + '">Artikel löschen</a></td>' +
'</tr>' +
'<tr id="text' + zeile + '">' +
'<td colspan="3"> <textarea class="form-control input-md" id="ccTabelle_' + zeile + '__ccInhaltsbeschreibung" name="ccTabelle[' + zeile + '].ccInhaltsbeschreibung" placeholder="Inhaltsbeschreibung"></textarea> </td>' +
'<td colspan="4"> <textarea class="form-control input-md" id="ccTabelle_' + zeile + '__ccBemerkungInhalt" name="ccTabelle[' + zeile + '].ccBemerkungInhalt" placeholder="Bemerkungen"></textarea> </td>' +
'</tr>');
aktualisiereZeilennummer();
});
我也使用此内容初步创建一行。
但是在单击按钮提交时,我想验证这些字段是否已填充或不突出显示这些字段。
我尝试使用$("#form").validate();
,但我真的不知道如何使用它而且它没有用。
我模型中的验证也失败了:
public class InhaltModel
{
//Inhalt
[Required]
[Display(Name = "Artikelnummer")]
public string ccArtikelNr { get; set; }
[Required]
[Display(Name = "Warentarif-Nr")]
public string ccWarentarifNr { get; set; }
}
如果我使用Razor添加一行它可以工作,但不能使用jQuery,但我需要它动态,以便我可以添加任意数量的行。
有谁能告诉我如何验证我的字段?
答案 0 :(得分:13)
您需要在添加动态内容后再次解析form
,以便验证该内容
$('form').data('validator', null);
$.validator.unobtrusive.parse($('form'));