使用jquery验证的远程功能检查用户是否存在
我想使用jqueryvalidator插件来验证用户表单。有firstname、lastname和email是必需的。我还想根据firstname、lastname和email的组合来验证用户是否已经存在于系统中。我不知道如何为这样的要求编写规则。请帮忙。谢谢使用jquery验证的远程功能检查用户是否存在,jquery,jquery-validate,Jquery,Jquery Validate,我想使用jqueryvalidator插件来验证用户表单。有firstname、lastname和email是必需的。我还想根据firstname、lastname和email的组合来验证用户是否已经存在于系统中。我不知道如何为这样的要求编写规则。请帮忙。谢谢 $("#user").validate( { rules : { firstname : { required : true,
$("#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,该怎么办?但是因为他们实际上是十个不同的人,所以只有电子邮件地址是唯一的。