我试图在Vuelidate中创建一个正则表达式,并将其添加到一个具有多个规则的表单中。文档没有确切说明如何使用一些自定义规则,我正在使用Composition API。
我有一个需要用正则表达式验证的字段。'^([A-ZÑ\x26]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1]))((-)?([A-Z\d]{3}))?$'
该字段位于表单中,因此我创建了稍后使用的规则,如下所示。// const rfc = helpers.regex('^([A-ZÑ\x26]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1]))((-)?([A-Z\d]{3}))?$')
我以这种方式创建规则
`const companyRules = {
company: {
RFC: { required, rfc },
name: { required },
line: { required },
email: { required, email },
phone: { required },
},
...
};`
最后我用它们来做表格const v$ = useVuelidate(rules, form);
但它不起作用,因为它标记我永远是无效的。我尝试了其他更简单的正则表达式,但它仍然不起作用。我应该如何添加规则或我应该修改它?
2条答案
按热度按时间ebdffaop1#
我在使用
regex
helper时也遇到了同样的问题。即使是使用简单的正则表达式。我使用了composition API + vue3和几个装饰器进行翻译。即使值有效,Bar也将保持无效......现在我决定不使用regex助手,而是使用
string.match
。f4t66c6m2#