【发布时间】:2018-10-12 23:39:43
【问题描述】:
我似乎无法弄清楚如何将输入字段的内容添加到 Parsely 的错误消息中。示例:
// Fail particular email domains
window.Parsley.addValidator('emailDomain',
function (value) {
const emailInputDomain = value.match(/@\w+[.]\w+/);
const emailFormattedDomain = emailInputDomain[0].slice(1);
const excludedDomains = [
'gmail.com',
'yahoo.com',
'sbcglobal.net',
'aol.com',
'hotmail.com',
'juno.com',
'godaddy.com',
'hotmail.com'
];
return !excludedDomains.includes(emailFormattedDomain.toLowerCase());
}).addMessage('en', 'emailDomain', 'Email domain is not valid');
我在网上看到了使用 '%s' 的示例,它应该从输入字段中插入字符串,但这对我来说没有产生值。
我也试过了:
document.getElementById('email').setAttribute('data-parsley-email-domain-message', `${value} is not valid`);
...这是hack-ish,并且不起作用(因为事件触发会影响value 出于某种原因,例如gmail.co 而不是gmail.com)。
根据 API 文档,似乎不可能从旧的设置消息的方式返回函数:
messages: function(value) {
return { en: `${value} is not a valid email domain` }
}
关于有效解决方案的任何建议?
【问题讨论】:
标签: javascript forms validation parsley.js