我已经为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);
});
答案 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);
});