如何显示Parsley.js找到的验证错误?

Phi*_*ord 3 javascript validation parsley.js

我正在使用Parsley.js来验证此示例中的部分表单.但是,即使表单应该验证,该validate()方法false也会返回.

没有显示错误消息,我想看看验证失败的原因是什么.

我找不到让Parsley简单地返回找到的所有错误的方法,所以我可以在控制台中看到它们.我错过了一些明显的事吗?

Iva*_*nin 9

你可以使用这样的东西:

window.Parsley.on('field:error', function() {
  // This global callback will be called for any field that fails validation.
  console.log('Validation failed for: ', this.$element);
});
Run Code Online (Sandbox Code Playgroud)

来自http://parsleyjs.org/doc/index.html#events


Phi*_*ord 3

可能(希望)有更好的方法来做到这一点,但我最终使用这种方法来深入了解正在验证的内容以及通过/未通过的内容:

function validateAnswers(groupName) {

    var formInstance = $('.my-form').parsley();
    var isValid = formInstance.validate(groupName);

    // Just for debugging:
    $.each(formInstance.fields, function(idx, field) {
        if (typeof field.validationResult === 'boolean') {
            // Validated.
            console.log('Passed: ' + field.value);
        }  else if (field.validationResult.length > 0) {
            console.log('Failed: ' + field.validationResult[0].assert.name);
        }
    });

    return isValid;
}
Run Code Online (Sandbox Code Playgroud)

这适用于我非常简单的带有“必需”单选按钮的表单;不知道它如何在具有不同类型字段和验证要求的较大表单上工作。

还有更好的答案或改进吗?