Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery验证的远程功能检查用户是否存在_Jquery_Jquery Validate - Fatal编程技术网

使用jquery验证的远程功能检查用户是否存在

使用jquery验证的远程功能检查用户是否存在,jquery,jquery-validate,Jquery,Jquery Validate,我想使用jqueryvalidator插件来验证用户表单。有firstname、lastname和email是必需的。我还想根据firstname、lastname和email的组合来验证用户是否已经存在于系统中。我不知道如何为这样的要求编写规则。请帮忙。谢谢 $("#user").validate( { rules : { firstname : { required : true,

我想使用jqueryvalidator插件来验证用户表单。有firstname、lastname和email是必需的。我还想根据firstname、lastname和email的组合来验证用户是否已经存在于系统中。我不知道如何为这样的要求编写规则。请帮忙。谢谢

$("#user").validate( {
            rules : {
            firstname : {
                required : true,
                remote: {
                  url : "../ajax/checkExisitingUse",
                  data: { lastname:  $('#lastname').val(),
                      email:  $('#email').val()
                        }
                type:post
                }

            },
            lastname : {
                required : true
            },
            email : {
                required : true,
                email : true
            }})

我看到的一个问题是如何读取ajax请求的数据。。。应该是

$("#user").validate({
    rules: {
        firstname: {
            required: true,
            remote: {
                url: "../ajax/checkExisitingUse",
                data: {
                    lastname: function () {
                        return $('#lastname').val();
                    },
                    email: function () {
                        return $('#email').val();
                    }
                },
                type: post
            }

        },
        lastname: {
            required: true
        },
        email: {
            required: true,
            email: true
        }
    }
});
如果值为value,则资源
。/ajax/checkexisinguse
必须返回
true
,否则可以返回一条字符串消息,指示错误或false、未定义或null,以显示默认错误消息


请阅读

中的更多内容,感谢您指出错误所在。但我最大的问题是,我当前的代码不会触发lastname和email字段的远程规则。我必须重复远程规则3次吗?@Alex,远程规则只检查一个字段的数据。您可以在所有三个字段上使用它,但每个字段的数据都会被单独检查。换句话说,
first\u name
字段的
remote
规则将只检查
first\u name
字段中的数据。除非没有两个用户使用相同的名字,否则这肯定会失败。
remote
规则与其他规则一样,用于检查单个字段中的数据。换句话说,如果需要对照服务器检查整个表单,则需要将整个表单提交给服务器。但要将完整表单提交到服务器,它需要首先通过jQuery验证。。。第二十二条军规。你应该重新考虑你的整个方法。也许检查用户是否存在的部分应该只通过服务器端验证来完成,然后在失败时重新加载一个空白表单和一条消息。否则,只需使用三个字段中的一个来确定用户是否存在。毕竟,您应该有一个唯一的密钥。示例:如果您有十个具有相同公用名称的唯一用户,如John Smith,该怎么办?但是因为他们实际上是十个不同的人,所以只有电子邮件地址是唯一的。