Parsley - 当字段为空时在“必填消息”上使用错误消息

时间:2018-02-26 16:32:48

标签: parsley.js parsley

我已经为parsley添加了一个自定义验证器,它正在按预期工作,但我唯一的问题是当字段空置时data-parsley-error-message正在使用data-parsley-required-message

如何防止这种情况,以便在验证失败时使用错误消息,并在字段为空时显示所需的消息。

当前代码:

<input class="form-control" id="FirstName" name="FirstName" maxlength="20" data-parsley-required-message="Your first name was missing." data-parsley-validate-non-ascii="" data-parsley-error-message="Invalid Character Entered" data-parsley-trigger="blur" required="" data-parsley-id="3137" type="text">

 window.ParsleyValidator.addValidator('validateNonAscii', function (value) {
        return Validate(value);
    });

2 个答案:

答案 0 :(得分:1)

data-parsley-error-message将始终具有优先权。请改用data-parsley-validate-non-ascii-message

答案 1 :(得分:0)

使用Marc-AndréLafortune的建议,我设法通过实现自定义验证错误消息找到了我自己的答案:

我将HTML输入更新为以下内容:

<input type="text" class="form-control" id="FirstName" name="FirstName" maxlength="20" data-parsley-required-message="Your first name was missing." data-parsley-validate-non-ascii="" data-parsley-validate-non-ascii-message="Invalid Character Entered" data-parsley-trigger="blur" required="" data-parsley-id="5021">

然后使用事件监听器,我能够将输入中的错误消息添加到Parsley;现在显示输入无效字符时的验证错误,以及字段为空时所需的消息。

$.listen('parsley:field:error', function (fieldInstance) {
    var validateNonAsciiMessage = fieldInstance.$element.data('parsley-validate-non-ascii-message');

    if (validateNonAsciiMessage !== undefined) {
        window.ParsleyValidator.addMessage('en', 'validateNonAscii', validateNonAsciiMessage);
    }
});

window.ParsleyValidator.addValidator('validateNonAscii', function (value) {
    return Validate(value);
});