我阅读了您关于 jQuery 验证器的回复,您在其中概述了一种根据数据库中的值检查用户名的方法。
我尝试过实现此方法,但无论从 PHP 文件返回什么,我总是收到用户名已被占用的消息。
这是自定义方法...
$.validator.addMethod("uniqueUserName", function(value, element) {
$.ajax({
type: "POST",
url: "php/get_save_status.php",
data: "checkUsername="+value,
dataType:"html",
success: function(msg)
{
// if the user exists, it returns a string "true"
if(msg == "true")
return false; // already exists
return true; // username is free to use
}
})}, "Username is Already Taken");
这是验证代码...
username: {
required: true,
uniqueUserName: true
},
有没有一种特定的方式我应该从 php 返回消息。
谢谢
一个
最佳答案
对于任何其他偶然发现此问题的人,验证支持“远程”方法,该方法在 2010 年可能不存在:
https://jqueryvalidation.org/remote-method/
$("#myform").validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check-email.php",
type: "post",
data: {
username: function() {
return $("#username").val();
}
}
}
}
}
});
关于jQuery 验证器和使用 AJAX 的自定义规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628413/