我是Vue.js开发的新手。
使用Vee-validate,我想将验证规则“必需”和“正则表达式”(例如,应该要求使用电话号码&& \ d {11})。
我仔细阅读了official documentation。
但是,我无法弄清楚如何将两个条件(包括正则表达式)放在Vue实例的“created()”中。
以下作品:
this.$validator.attach({ name: "tel", rules: "required" });
但这不起作用:
this.$validator.attach({
name: "tel",
rules: "{
required: true , regex: /\d{11}/
}'"
});
如何启用多个条件?
答案 0 :(得分:1)
我更喜欢自己使用指令版本。将VeeValidate导入组件后,您可以通过v-validate
访问所有内置验证,并可以使用管道|
运算符将它们链接在一起:
<template>
<input name="email" type="text" v-model="emailData" v-validate="'required|email'">
<button @click="submit()"></button>
</template>
<script>
import VeeValidate from 'vee-validate'; //wherever your plugin is stored
data() {
return {
emailData: null,
},
},
methods: {
// call this method upon form submission, this will validate all fields using the specified validation
submit() {
this.$validator.validateAll().then((result) => {
if (result) {
// form/input(s) passed validation. Do something
}
});
}
</script>
如果您想在不使用指令的情况下完成此操作,则以下内容应该有效:
import { Validator } from 'vee-validate';
const validator = new Validator();
const expressions = {
required: true,
regex: /\d{11}/
};
validator.attach({ name: 'tel', rules: expression });
// continue with validator.validate() etc...