首页 文章

Vee-validate:如何在构造对象后附加几个验证规则

提问于
浏览
0

我是Vue.js开发的新手 .

使用Vee-validate,我想将验证规则“required”和“regex”(例如,telphone num应该是必需的&& \ d {11}) .

我仔细阅读了official documentation .

但是,我无法弄清楚如何将两个条件(包括正则表达式)放在Vue实例的“created()”中 .

以下作品:

this.$validator.attach({ name: "tel", rules: "required" });

但这不起作用:

this.$validator.attach({ 
  name: "tel", 
  rules: "{ 
    required: true , regex: /\d{11}/ 
  }'" 
});

如何启用多个条件?

1 回答

  • 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...
    

相关问题