您有一个带有文本框的动态表,并且想要应用类对所有这些文本框的验证。 jQuery 的非侵入式验证未注册添加的文本框,导致验证无法正常工作。
要解决此问题,您需要:
@for (int i = 0; i < Model.TargetInfo.Count; i++) { <tr> <td> @Html.TextBoxFor(m => m.TargetInfo[i].TargetColor_U, new { id = "", @class = "form-control" }) @Html.ValidationMessageFor(m => m.TargetInfo[i].TargetColor_U) <input type="hidden" name="TargetInfo.Index" value=@i /> </td> <!-- Other columns with similar markup --> </tr> }
var form = $('form'); var newrow = $('#newrow'); var tablebody = $('#tablebody'); $("#btnAddTarget").click(function() { var index = (new Date()).getTime(); var clone = newrow.clone(); clone.html($(clone).html().replace(/#/g, index)); var row = clone.find('tr'); tablebody.append(row); // Reparse the validator using unobtrusive validation form.data('validator', null); $.validator.unobtrusive.parse(form); });
以上是如何使用 jQuery 非侵入式验证将类验证应用于表中的动态文本框?的详细内容。更多信息请关注PHP中文网其他相关文章!