MVC Jquery验证数据表。新行未被验证
我正在开发一个带有html5的MVC网络应用程序 我有一个表单(由Razor构建,因此所有内容都有正确的名称),只要我不添加新行,jquery验证就可以作为一种魅力 添加新行时,Jquery无法识别新行 我试图删除旧的验证并添加新的验证->无结果 -$.removeData(格式为“验证器”);form.validate() 我试图刷新它,但它就是不起作用。 我找到了一些名称重复的解决方案,但这不是我的问题 有什么帮助吗MVC Jquery验证数据表。新行未被验证,jquery,model-view-controller,jquery-validate,unobtrusive-validation,Jquery,Model View Controller,Jquery Validate,Unobtrusive Validation,我正在开发一个带有html5的MVC网络应用程序 我有一个表单(由Razor构建,因此所有内容都有正确的名称),只要我不添加新行,jquery验证就可以作为一种魅力 添加新行时,Jquery无法识别新行 我试图删除旧的验证并添加新的验证->无结果 -$.removeData(格式为“验证器”);form.validate() 我试图刷新它,但它就是不起作用。 我找到了一些名称重复的解决方案,但这不是我的问题 有什么帮助吗 初始化我的表 $("#plantsTable").dataTable({
$("#plantsTable").dataTable({
"paging": false,
"searching": false,
"bInfo": false,
"fixedHeader": true,
"columns": [
{ "orderDataType": "dom-text-numeric", "sType": "numeric" },
{ "orderDataType": "dom-text", "sType": "string" },
{ "orderDataType": "dom-select", "sType": "string" },
{ "orderDataType": "dom-checkbox", "sType": "numeric", },
{ "orderDataType": "dom-checkbox", "sType": "numeric", },
null,
null,
null
],
"order": [[1, "asc"]],
"aoColumnDefs": [{
"bSortable": false,
"aTargets": ["no-sort"]
}]
}))$(selector).validate();
$(selector).valid();
$(selector).tooltip(...);
function resetFormValidator(formId) {
$(formId).removeData('validator');
$(formId).removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(formId);
}
您应该使用同时删除以前的valdiation事件处理程序的解决方案:
$(“表单”).removeData(“验证程序”).removeData(“不引人注目的验证”).off(“submit.validate click.validate focusin.validate focusout.validate keyup.validate invalid form.validate”);$。验证程序。不引人注目。解析(“表单”)代码>
$(selector).validate();
$(selector).valid();
$(selector).tooltip(...);
<form action="/Anlagen" id="plantsForm" method="post" novalidate="novalidate">
<tr role="row" class="odd">
<td class="tableInputCell" hidden="">
<input data-val="true"
data-val-number="The field AnlageNrID must be a number."
id="Anlagen_2__AnlageNrID" name="Anlagen[2].AnlageNrID"
readonly="readonly" type="text" value="28" tabindex="-1">
<span class="field-validation-valid"
data-valmsg-for="Anlagen[2].AnlageNrID"
data-valmsg-replace="true" style="display:none"></span>
</td>
<td class="tableInputCell sorting_1">
<input data-val="true"
data-val-length="Das Feld "Bezeichnung" muss eine Zeichenfolge mit einer maximalen Länge von 30 sein."
data-val-length-max="30"
data-val-required="Das Feld "Bezeichnung" ist erforderlich."
id="Anlagen_2__AnlageBez" name="Anlagen[2].AnlageBez"
style="width:450px" type="text" value="(Alle Anlagen)"
class="valid">
<span class="field-validation-valid"
data-valmsg-for="Anlagen[2].AnlageBez"
data-valmsg-replace="true" style="display:none"></span>
</td>
</tr>
<tr>
<td class="tableInputCell" hidden="">
<input data-val="true"
data-val-number="The field AnlageNrID must be a number."
id="Anlagen_3__AnlageNrID" name="Anlagen[3].AnlageNrID"
readonly="readonly" type="text" value="">
<span class="field-validation-valid"
data-valmsg-for="Anlagen[3].AnlageNrID"
data-valmsg-replace="true" style="display:none"></span>
</td>
<td class="tableInputCell">
<input data-val="true"
data-val-length="Das Feld "Bezeichnung" muss eine Zeichenfolge mit einer maximalen Länge von 30 sein."
data-val-length-max="30"
data-val-required="Das Feld "Bezeichnung" ist erforderlich."
id="Anlagen_3__AnlageBez" name="Anlagen[3].AnlageBez"
style="width:450px" type="text" value="">
<span class="field-validation-valid"
data-valmsg-for="Anlagen[3].AnlageBez"
data-valmsg-replace="true" style="display:none"></span>
</td>
</tr>
</form>
function resetFormValidator(formId) {
$(formId).removeData('validator');
$(formId).removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(formId);
}