我有这个用户界面。如果用户检查All dates
它会将布尔变量设置is_all_dates
为true
.So 这意味着用户不关心日期范围,他/她想要所有数据而不按日期范围过滤。
另一方面,如果用户不检查All dates
我需要验证 3 件事。
- 他/她输入起始日期(必填)
- 他/她输入一个日期(必需)
- 从日期 < 到日期(自定义验证器)
为了达到这个要求,我使用动态验证模式。
我只需要验证是否All dates
等于假。否则我根本不需要验证。
validations() {
if (!this.is_all_dates) {
return {
from: {
required
},
to: {
required,
date_greather_than
}
};
}
},
我这样声明我的date_greather_than
验证。
<script>
const date_greather_than = (value, vm) => {
let from = new Date(vm.from);
let to = new Date(value);
return from < to;
};
export defaults:{
validations(){},
data(){return{}}
}
</script>
但问题是我有一个错误
TypeError:无法读取未定义的属性“date_greather_than”
我的自定义验证器在 validations() 函数中无法识别
我可以使用这样的关键字this
。这是语法错误。
to: {
required,
this.date_greather_than
}