使用Vuelidate,由于“必需”验证器现在将布尔值“ false”视为有效值,因此您必须使用sameAs: sameAs( () => true )
之类的“ sameAs”来实现复选框的必需验证。如何使用vuelidate对复选框进行“ requiredUnless”验证,而仅当属性不是某个特定值时才需要选中复选框?
除非复选框的vuelidate验证程序,否则如何实现必需的方法
•
问答
jordandick 回答:除非复选框的vuelidate验证程序,否则如何实现必需的方法
false被验证为有效,因此您需要将其更改为空字符串,我将在监视中进行此操作:
data() {
return {
email: '',age: null,password: '',confirmPassword: '',country: 'Malta',hobbyInputs: [],terms: '',countries,}
},validations: {
terms: {
required: requiredUnless(vm => {
return vm.country === 'Malta'
}),watch: {
terms() {
if (!this.terms) {
this.terms = '';
}
}
},
,
我找不到用vuelidate验证的方法。因此,我制作了一种方法,该方法通过执行方法并将$ v对象传递给它来切换CSS类,并且仅在该值不是选定值时才运行验证。
<div class="input inline" :class="{invalid: checkCountry($v)}">
验证者
Validations: {
terms: {
sameAs: sameAs(vm => {
if (!(vm.country === 'germany')) {
return true;
} else {
return false;
}
})
方法
methods: {
checkCountry($v) {
if (this.country === 'germany') {
return false;
} else {
return $v.terms.$invalid;
}
}