我编写了一个自定义jQuery unobstrusive验证规则,如下所示:
<script>
$.validator.addMethod("emailvalidate", function (value, element)
{
{
var isSuccess;
$.post("/Front/CheckEmail", { email: value }).done(function (data) {
console.log("called");
isSuccess = data === "true" ? true : false
});
console.log(isSuccess);
return isSuccess;
}});
$.validator.unobtrusive.adapters.add("emailvalidate", function (options) {
options.rules["emailvalidate"] = true;
if (options.message) {
options.messages["emailvalidate"] = options.message;
}
});
</script>
请注意以下部分:
Console.log("called");
和这一个:
console.log(isSuccess);
在控制台中写出来的方式如下:
"undefined"
"called"
这意味着在我甚至可以调用myserver之前返回变量,从而使该字段始终无效...
我在这里做错了什么?