除非复选框的vuelidate验证程序,否则如何实现必需的方法

使用Vuelidate,由于“必需”验证器现在将布尔值“ false”视为有效值,因此您必须使用sameAs: sameAs( () => true )之类的“ sameAs”来实现复选框的必需验证。如何使用vuelidate对复选框进行“ requiredUnless”验证,而仅当属性不是某个特定值时才需要选中复选框?

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;
      }
    }
本文链接:https://www.f2er.com/2695443.html

大家都在问