我正在使用vuetify验证,并且我有三个日期字段:月,发件人,发件人。我需要根据以下内容添加必需的规则:
我尝试了compute()方法,以检查发件人或发件人是否为空,但似乎:rules设置了一次,然后没有改变。
computed: {
monthRules() {
return this.searchForm.from ? [] : [factory.required()];
},
这是一些代码
<date-field
ref="month"
v-model="searchForm.month"
:rules="monthRules"
>
</date-field>
<date-field
ref="from"
v-model="searchForm.from"
@input="validateTo"
:rules="fromRules"
>
</date-field>
<date-field
ref="to"
v-model="searchForm.to"
:rules="toRules"
>
</date-field>
monthRules: [factory.required()],
fromRules: [],
toRules: [
*some rules from factory here*
],
required() {
return v => !!v || 'Field is required';
},
是否可以动态构建规则数组?还是有更好的方法
答案 0 :(得分:0)
我对 Vuetify 规则不是很清楚,因为我认为最好使用像 vee-validate 这样的专门库,它已经有大量的预定义规则,对于这样的事情。至于动态规则,最好的方法是使用对象绑定,如下所示:
:rules="{
required: requiredBool
}"
其中 requireBool
是您的计算属性。同样,正如我所说的,我对 Vuetify rules
不是很熟悉,但这对 Vee-Validate 很有用。