我正在加载一个主视图,该视图最初使用具有必填字段的模型呈现部分视图。正如您所期望的那样,客户端验证在该初始 Partial 上工作,但是当我使用 AJAX 动态呈现相同的 Partial 视图时,客户端验证无法将动态添加的字段识别为唯一的。
我对此并不感到惊讶,因为毕竟它们具有相同的名称、id 和验证数据破折号属性,但是有没有办法让客户端验证消息分别识别每个字段,而无需在脚本中手动检查和应用客户端验证?
主要观点:
@{Html.EnableClientValidation(); }
@{using (Html.BeginForm()){
@Html.Partial("_WorkItem")
<div id="newItemHolder">
</div>
<div id="addItem">Add Item</div>
}}
<script type="text/javascript">
$(document).ready(function () {
$("#addItem").click(function () {
$.ajax({
type: "POST",
data: {},
url: "Controller/NewItem",
success: function (data) {
//inject partial views content to newItemHolder
jQuery.validator.unobtrusive.parse($("#newItemHolder"));
}
});
});
});
</script>