JQuery 如果表单用于更新,则验证禁用验证
JQuery Validation disable validation if form is for updates
我有一个表单,其中的字段需要在数据库中是唯一的,例如用户名,当创建新用户时,验证工作通过使用远程方法检查用户名是否存在,这工作正常。挑战是我使用相同的表单进行更新,ajax 请求获取用户详细信息并以允许完成更新的相同表单填充它们,但是经过验证,用户名输入发现错误,因此无法更新,如何仅在更新期间禁用远程方法,或者我可以获得更好的解决方案?
虽然 create/update 维护一个输入字段,如下所示 value=''
当然 value=""
在 "create" 时和在 "update" 操作时的一些值(正在更新的记录的 id),你必须根据操作设置正在执行。
<input type="hidden" name="update_id" value='' id="update_id">
现在正在验证
username: {
required: true,
remote : {
type: "POST",
async: false,
url: yourUrlHere,
data: {
id: function()
{
return $("#update_id").val();
}
}
}
}
这里我们发送 update_id 无论操作是 Create/Update 即
“”在更新时创建和一些值(正在更新的记录的 ID)。
然后您可以在页面上使用用户名检查逻辑 url: yourUrlHere,
就像 'id'= '' then check from all records for duplicate username or if 'id'= 'someVal' then check from all records for duplicate username except 'id'= 'someVal'
我有一个表单,其中的字段需要在数据库中是唯一的,例如用户名,当创建新用户时,验证工作通过使用远程方法检查用户名是否存在,这工作正常。挑战是我使用相同的表单进行更新,ajax 请求获取用户详细信息并以允许完成更新的相同表单填充它们,但是经过验证,用户名输入发现错误,因此无法更新,如何仅在更新期间禁用远程方法,或者我可以获得更好的解决方案?
虽然 create/update 维护一个输入字段,如下所示 value=''
当然 value=""
在 "create" 时和在 "update" 操作时的一些值(正在更新的记录的 id),你必须根据操作设置正在执行。
<input type="hidden" name="update_id" value='' id="update_id">
现在正在验证
username: {
required: true,
remote : {
type: "POST",
async: false,
url: yourUrlHere,
data: {
id: function()
{
return $("#update_id").val();
}
}
}
}
这里我们发送 update_id 无论操作是 Create/Update 即 “”在更新时创建和一些值(正在更新的记录的 ID)。
然后您可以在页面上使用用户名检查逻辑 url: yourUrlHere,
就像 'id'= '' then check from all records for duplicate username or if 'id'= 'someVal' then check from all records for duplicate username except 'id'= 'someVal'