【发布时间】:2019-04-18 15:18:29
【问题描述】:
我正在使用 vuetify 验证,并且我有三个日期字段:Month、From、To。我需要根据以下添加所需的规则:
- 如果选择 Month - From 和 To 不需要。
- 如果选择了 From 或 To 中的任何一个 - Month 不需要。
我尝试了 computed() 方法,检查 From 或 To 是否为空,但似乎 :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';
},
是否可以动态构建规则数组?或者有没有更好的方法
【问题讨论】:
-
最简单的解决方案是在渲染期间使用 if-else 检查..
标签: vue.js vuetify.js