即使 Parsley 验证失败,.submit() 也会始终执行

Posted

技术标签:

【中文标题】即使 Parsley 验证失败,.submit() 也会始终执行【英文标题】:.submit() is always executed even when Parsley validation fails 【发布时间】:2018-12-23 00:31:06 【问题描述】:

我正在使用 parsley.js 进行验证。它在不使用 Ajax 的情况下完成了这项工作。 但是当我添加一个 .submit() 函数时,它总是被触发并且不等待验证。

更新:我也需要使用远程验证

$(document).ready(function()

  $('#form_register').submit(function()
    alert('The form submitted');
  )

);

https://jsfiddle.net/rostamiani/mzdvLpnt/3/

它适用于提琴手,但不适用于我的页面。我附上了我的页面: https://ufile.io/hm7w5

【问题讨论】:

【参考方案1】:

更新 此代码不适用于远程验证。 使用远程验证时,isValid 返回 null!

我使用 isValid() 函数在提交时检查验证状态。

$('#form_register').submit(function(e)

    // Prevent normal submittion
    e.preventDefault();

    // If the form is not submitted yet, skip
    if (! $('#form_register').parsley().isValid()) 
        return;
    

    alert('The form submitted');

【讨论】:

以上是关于即使 Parsley 验证失败,.submit() 也会始终执行的主要内容,如果未能解决你的问题,请参考以下文章

Parsley 验证不等待远程验证 AsyncValidate 完成

ParsleyJS 自定义验证器总是验证失败

parsley之验证属性设置

parsley.js 不验证多个验证

Parsley.js isValid() 使用自定义验证器返回 null

使用 parsley.js 验证表单提交外部表单标记