Javascript 在部分视图中进行不引人注目的客户端验证不起作用
我已经阅读了关于这个问题的大部分文章,我仍然看不出有什么问题。有人能看一下吗?我得到了一个错误“无法读取未定义的属性‘unobtrusive’”,如果我注释掉这一行,那么我得到了“无法读取未定义的属性‘options’”,所以很明显我有一些引用不正确的内容,但我看不到它。如果我取出所有的验证代码,表单就会弹出,工作正常,但当然没有验证。此外,我还尝试将“#updateContactForm”替换为“#updateDialog”,得到了相同的结果。希望这是一个简单的东西,我只是看了太久看不到。提前谢谢Javascript 在部分视图中进行不引人注目的客户端验证不起作用,javascript,jquery,asp.net-mvc-3,jquery-validate,Javascript,Jquery,Asp.net Mvc 3,Jquery Validate,我已经阅读了关于这个问题的大部分文章,我仍然看不出有什么问题。有人能看一下吗?我得到了一个错误“无法读取未定义的属性‘unobtrusive’”,如果我注释掉这一行,那么我得到了“无法读取未定义的属性‘options’”,所以很明显我有一些引用不正确的内容,但我看不到它。如果我取出所有的验证代码,表单就会弹出,工作正常,但当然没有验证。此外,我还尝试将“#updateContactForm”替换为“#updateDialog”,得到了相同的结果。希望这是一个简单的东西,我只是看了太久看不到。提前
<div id="updateDialog" title="Update Contact"></div>
<script type="text/javascript">
var linkObj;
$(function () {
$(".editLink").button();
$("#updateDialog").dialog({
autoOpen: false,
width: 400,
resizable: false,
modal: true,
buttons: {
"Update": function () {
$("#update-message").html(''); //make sure there is nothing on the message before we continue
$("#updateContactForm").submit();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
$(".editLink").click(function () {
//change the title of the dialog
linkObj = $(this);
var dialogDiv = $("#updateDialog");
var viewUrl = linkObj.attr('href');
$.get(viewUrl, function (data) {
dialogDiv.html(data);
//validation
var $form = $("#updateContactForm");
$form.unbind();
$form.data("validator", null);
$.validator.unobtrusive.parse($("#updateDialog"));
// Re add validation with changes
$form.validate($form.data("unobtrusiveValidation").options);
//open dialog
dialogDiv.dialog("open");
});
return false;
});
var-linkObj;
$(函数(){
$(“.editLink”).button();
$(“#updateDialog”)。对话框({
自动打开:错误,
宽度:400,
可调整大小:false,
莫代尔:是的,
按钮:{
“更新”:函数(){
$(“#更新消息”).html(“”);//继续之前,请确保消息中没有任何内容
$(“#updateContactForm”).submit();
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
$(“.editLink”)。单击(函数(){
//更改对话框的标题
linkObj=$(本);
var dialogDiv=$(“#updateDialog”);
var viewUrl=linkObj.attr('href');
$.get(视图URL、函数(数据){
dialogDiv.html(数据);
//验证
var$form=$(“#updateContactForm”);
$form.unbind();
$form.data(“验证器”,空);
$.validator.unobtrusive.parse($(“#updateDialog”);
//使用更改重新添加验证
$form.validate($form.data(“unobtrusiveValidation”).options);
//打开对话框
dialogDiv.dialog(“打开”);
});
返回false;
});
请检查,您是否在cshtml或母版页中正确引用了jquery验证脚本
您应该首先加载脚本
jquery.validate.js
,然后加载jquery.validate.unobtrusive.js
一个。may b您应该阅读这个问题