我正在为我的页面使用JQuery Validation插件和Ajax。当我把每件事留空时,验证工作正常。如果我输入除SKU字段之外的字段(使用AJAX的字段),它也可以正常工作。当我在SKU输入中输入内容而不输入其他输入时,我遇到了问题。当我这样做时,我收到一个错误:“错误:'$ .validator.methods [...]'为空或不是对象”然后它将表单提交给服务器:-P
我已经全神贯注地寻求这种情况的帮助,但我发现的最多的是:http://forums.asp.net/t/1070825.aspx
任何帮助将不胜感激!
<asp:Content ID="Content3" ContentPlaceHolderID="CustomScriptContent" runat="server">
<script type="text/javascript" src="/Scripts/jquery.rte.js"></script>
<script type="text/javascript" src="/Scripts/jquery.rte.tb.js"></script>
<script type="text/javascript">
$.validator.addMethod("packageSKU", function(value) {
$.getJSON("/JSONHelper/IsPackageSKUAvailable", "packageSKU=" + value, function(data) {
return data;
});
}, 'Please enter a different SKU');
$(document).ready(function() {
$("#LongDescription").rte({
height: 450,
width: 960,
controls_rte: rte_toolbar,
controls_html: html_toolbar
});
$("#packageForm").validate({
rules: {
UploadedImage: { accept: "jpg|gif|png" },
SKU: {
remote: {
url: "/JSONHelper/IsPackageSKUAvailable",
type: "get",
data: {
packageSKU: function() {
return $("#SKU").val();
}
}
},
required: true,
minLength: 1,
maxLength: 30
}
},
messages: {
SKU: {
remote: "This SKU is already taken"
}
}
});
});
答案 0 :(得分:1)
您的方法应该返回true或false。但是你的方法没有返回任何东西
function(value) {
$.getJSON("/JSONHelper/IsPackageSKUAvailable", "packageSKU=" + value, function(data) {
return data;
});
你的ajax请求的回调会返回“数据”,但这无处可去。