【问题标题】:passwordConfirm rules in vee-validate 4.0vee-validate 4.0 中的密码确认规则
【发布时间】:2021-11-15 16:50:55
【问题描述】:

我正在使用vue3vee-validate 4.0

这是我的代码。

如果密码相同,返回true,如果密码不同我想返回password is not same

但是在名为validatePasswordConfirm的规则中,我想将我输入的密码与我输入的passwordConfirm进行比较,但我认为我指的是错误的值。

如何比较passwordpasswordConfirm

          <div class="input-box">
            <span class="details">비밀번호</span>
            <Field
              :rules="validatePassword"
              type="password"
              placeholder="비밀번호를 입력하세요"
              v-model="info.password"
              name="password"
              required />
            <ErrorMessage name="password" />
          </div>
          <div class="input-box">
            <span class="details">비밀번호 확인</span>
            <Field
              :rules="validatePasswordConfirm"
              type="password"
              placeholder="비밀번호를 확인하세요"
              v-model="info.passwordConfirm"
              name="passwordConfirm"
              required />
            <ErrorMessage name="passwordConfirm" />
          </div>
    validatePassword(value) {
      if(!value) {
        return '필수 입력 사항입니다.'
      }
      if(!/^(?=.*[A-Za-z])(?=.*\d)(?=.*[~!@#$%^&*()+|=])[A-Za-z\d~!@#$%^&*()+|=]{8,15}$/i.test(value)) {
        return '영문 소문자, 숫자, 특수문자 최소 한 개를 포함한 8~15자의 비밀번호를 입력해주세요.'
      }
      return true
    },
    validatePasswordConfirm(value) {
      if(!value) {
        return '필수 입력 사항입니다.'
      }
      if( this.password != this.passwordConfirm ) {
        return '비밀번호가 일치하지 않습니다.'
      }
      return true
    },

【问题讨论】:

    标签: vue.js vuex vee-validate


    【解决方案1】:

    看看你的v-models,你的数据函数的结构似乎是这样的:

    data() {
      return {
        info: {
          password: '',
          passwordConfirm: '',
        },
      };
    },
    

    所以你必须参考info对象的属性。将您的条件更改为:

    if( this.info.password != this.info.passwordConfirm ) {
    

    【讨论】:

    • 如果我使用mapState,我必须使用mapState吗?我已经尝试过 this.$store.state.password != this.$store.state.passwordConfirm 但它不起作用,但是 this.info.password != this.info.passwordConfirm 正在工作!
    • 这是一个关于 VueX 商店的问题。您需要提出一个单独的问题并在其中提供相关的 VueX 代码。很高兴它的工作:)你能投票并接受我的回答正确吗?
    猜你喜欢
    • 2018-06-12
    • 2022-10-21
    • 2021-01-31
    • 2020-06-07
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 2021-10-02
    相关资源
    最近更新 更多