【发布时间】:2015-07-24 11:05:28
【问题描述】:
我正在使用 jQuery 验证插件,并提出了一个需要为其创建远程验证规则的场景。
假设我有一个成员表单,用户可以编辑他们的个人资料,其中包含他们的电子邮件地址和其他从数据库填充的信息。显然,我会使用远程方法检查他们注册时电子邮件是否不存在。问题出在用户不想更新他们的电子邮件地址但在保存表单时,验证会大惊小怪,说电子邮件已经存在。
只有在表单中更改了电子邮件地址的情况下,我才能调用远程方法。如果电子邮件保持不变,则无需验证。
这是一个适用于其他东西的远程方法的示例:
rules: {
something: {
required: true,
remote: {
param: {
url: '/path/to/file.php',
type: 'post',
data: {
'test': $('#something').val()
}
},
depends: function() {
return $('body').hasClass('someClass');
}
}
}
我原以为我可以在检查更改的规则的依赖部分中进行一些检查,但我不知道该怎么做
【问题讨论】:
-
您可以将旧电子邮件地址存储在隐藏字段中,并在验证服务器端之前将其与文本框中的电子邮件进行比较。