【发布时间】:2013-10-16 15:27:00
【问题描述】:
我想使用 Jquery Validator 插件来验证用户表单。有名字,姓氏和电子邮件是必需的。我还想根据名字、姓氏和电子邮件的组合来验证用户是否已经存在于系统中。我不知道如何为这种要求编写规则。请帮忙。谢谢。
$("#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
}})
【问题讨论】:
-
remote规则与其他规则一样,用于检查单个字段中的数据。换句话说,如果您需要针对服务器检查整个表单,那么您需要将整个表单提交给服务器。但是要将完整的表单提交到服务器,它需要首先通过您的 jQuery 验证... catch-22。你应该重新考虑你的整个方法。也许检查用户是否存在的部分应该仅通过您的服务器端验证来完成,然后在失败时简单地重新加载一个空白表单和一条消息。 -
否则,只需使用三个字段之一来确定用户是否存在。毕竟,您应该有一个唯一的密钥。示例:如果您有十个具有相同通用名称的唯一用户,例如 John Smith,该怎么办?但由于他们实际上是十个不同的人,所以只有电子邮件地址是唯一的。