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'