0

https://laracasts.com/discuss/channels/vue/element-ui-password-password-confirmation-form-validation 经过一番谷歌搜索并找到一个类似的问题但没有答案,我来到 Stackoverflow。

  rules: {
    newPassword: [
      {
        required: true,
        message: 'Pflichtfeld',
        trigger: 'blur',
      },
      {
        validator: (rule, value, callback) => {
          if (
            !value.match('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$')
          ) {
            callback(new Error('Das Kennwort muss mindestens 8 Zeichen und diesen Zeichenarten enthalten. Zeichenarten: Kleinbuchstaben, Großbuchstaben, Ziffern, Sonderzeichen.'),
            )
          }
        },
        trigger: 'blur',
      },
    ],
    newPasswordConfirm: [
      {
        required: true,
        message: 'Pflichtfeld',
        trigger: 'blur',
      },
      {
        validator: (rule, value, callback) => {
          console.log(this.form.newPassword)
          if (value !== this.form.newPassword) {
            callback(new Error('Bitte geben Sie den gleichen Wert erneut ein.'))
          }
        },
        trigger: 'blur',
      },
    ],
  },
  data() {
    return {
      form: {
        currentPassword: '',
        newPassword: '',
        newPasswordConfirm: '',
      },
    }
  },

newPasswordConfirm 未使用 newPassword 验证,控制台日志不返回任何内容。如果不匹配,我该如何抛出错误?

4

0 回答 0