【发布时间】:2014-06-26 11:02:52
【问题描述】:
我在加载部分视图并在对话框中显示它的函数中有以下 Jquery 代码:
ysjs.openCreateDialog = function() {
$.ajax({
url: '/yourthings/Create/',
type: 'GET',
success: function(result) {
$('#create-modal').html(result).dialog({
width: 700,
resizable: false,
modal: true,
buttons: {
"Create": function () {
$("#create-usr").validate();
if (!$("#create-usr").valid()) {
return false;
}
},
Cancel: function() {
$(this).dialog("close");
}
}
}).dialog('open');
},
});
};
在我的部分视图中,我还强制 jquery 验证重新解析 DOM,如下所示:
<script type="text/javascript">
$(function () {
//allow the validation framework to re-prase the DOM
jQuery.validator.unobtrusive.parse();
});
</script>
当我单击 Create 按钮时,表单似乎正确无效,因为 return false 上的断点在 firebug 脚本视图中被击中。
网站上的所有其他验证功能完美,所以我没有丢失文件或设置来实际进行不显眼的验证工作,但在这种情况下显然存在一些问题,即从不显示摘要信息。
如果我将相同的部分直接放在页面上,所有验证都会按预期进行并在 UI 中显示消息。
我可以尝试什么来确保向用户显示验证消息?
【问题讨论】:
标签: jquery asp.net-mvc validation