我无法将返回字符串传递回验证器。
这是我的js
$('#frmSignUp').validator({
custom: {
emailexist: function ($el) {
var result = checkUserEmail($el.val())
.done(function (r) {
if (!r.success) {
// email already in use
return r;
}
})
return result.responseText;
}
}
});
function checkUserEmail(name) {
return $.ajax({
url: '@Url.Action("CheckUserName","Account")',
data: { ChapterPOCEmail: name },
type: 'POST',
dataType: 'json'
});
}
在 chrome 开发工具中,“r”确实具有从控制器返回的完整 json
{"success":false,"responseText":"该电子邮件已在使用中。"}
但是,验证器没有收到字符串,因此在反馈中仍然显示绿色复选标记,并且帮助块中没有消息。我曾尝试使用“数据远程”,但我无法让 asp.net 正确返回状态代码和消息。它覆盖了我发回的任何自定义消息,验证器无法接收它。
对我的问题的任何帮助将不胜感激。