我在GridView上验证动态addes输入时遇到问题。我有部分视图,每个局部视图都有自己的GridView。在我的_Layout上,我有jquery.validation.min.s等脚本的所有链接.GridView被包装在一个表单中,所以我有表单id。将新行附加到GridView的功能:
<script type="text/javascript">
$(function () {
$(document).on('click', '.addCostObject', function () {
var existRowSave = $('.saveCostObject').length;
var existRowEdit = $('.updateCostObject').length;
if (existRowSave == 0 && existRowEdit == 0) {
$('#gridCostObject tbody').append('<tr>' +
'<td><a href="#" id=\'saveCostObject\' class="saveCostObject"><img src="@Url.Content("~/Images/save_.png")" /></a> <a href="#" id=\'cancelSaveCostObject\' class="icancelSaveCostObject"><img src="@Url.Content("~/Images/save_cancel.png")" /></a></td>' +
'<td></td>' +
'<td><input type="text" name=\'costObject\' id=\'costObjectName\' class=\'costObjectNameClass\' placeholder=\'Cost Object Type\' data-val="true" data-val-required="This field is required"/></td>' +
'<td><input type="text" name=\'objectIdName\' id=\'objectId\' class=\'objectIdClass\' placeholder=\'Object ID\' data-val="true" data-val-required="This field is required"/></td>' +
'</tr>');
}
else {
alert('Save/Update or Cancel your previous record!');
}
})
event.stopImmediatePropagation();
})
在我的观点结束时,我有一个用于修改和附加规则的脚本:
<script type="text/javascript">
$(function() {
$("#gridCostObject").validate("add", {
rules: {
costObject: {
required: true
},
objectIdName: {
required: true,
digits: true
}
},
messages: {
objectIdName: {
digits: "Object id contains only digits"
}
}
})
})
在保存点击时,调试器总是说对象表单没有“有效”。我已经尝试将我的脚本放在我的视野中,并尝试到目前为止所有可能的组合。我做错了什么?
答案 0 :(得分:0)
$.validator.unobtrusive.parse('#yourFormSelector')
应该有帮助:) 它重新初始化表单的验证 - 之后,该方法将可用于新加载的元素