vue.js - 如何使用Vuelidate验证密码?

标签 vue.js vuelidate vue-validator

问候,
我需要验证密码表单
除了需要的字段
必须至少有一个大写字母,至少有小写字母,数字至少有一个和至少一个以下字符“#?!@$%^&*-”
我正在使用这个包 https://vuelidate.js.org/

编辑

或为此使用正则表达式

最佳答案

只需在 Vuelidate 验证中添加一个带有您想要的规则的自定义函数。

validations: {
  password: {
    required,
    // minLength: minLength(8)  // I assume you'd want something like this too
    valid: function(value) {
      const containsUppercase = /[A-Z]/.test(value)
      const containsLowercase = /[a-z]/.test(value)
      const containsNumber = /[0-9]/.test(value)
      const containsSpecial = /[#?!@$%^&*-]/.test(value)
      return containsUppercase && containsLowercase && containsNumber && containsSpecial
    }
  }
}
将每个需求分解为单独的功能可能会有所帮助,因此您可以为每个需求设置不同的错误消息(这将有助于指导用户他们需要修复什么)。
validations: {
  password: {
    required,
    // minLength: minLength(8)  // I assume you'd want something like this too
    containsUppercase: function(value) {
      return /[A-Z]/.test(value)
    },
    containsLowercase: function(value) {
      return /[a-z]/.test(value)
    },
    containsNumber: function(value) {
      return /[0-9]/.test(value)
    },
    containsSpecial: function(value) {
      return /[#?!@$%^&*-]/.test(value)
    }
  }
}

关于vue.js - 如何使用Vuelidate验证密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61176720/

相关文章:

css - Vue - 使用大括号语法在 css 中绑定(bind)数据

Vue.js:从api获取数据并将其传递给子组件(简单示例)

vue.js - Vuelidate 检查真/假

vue.js - 如何编辑 vuetify 数据表页脚中的元素?

javascript - Vue.js 中的 Vuelidate 自定义验证函数

Vue.js - 使用 Vuelidate url 域应与电子邮件域匹配

typescript - 如何使用设置脚本、 typescript 和组合 API 在 vue 中使用验证器

vuejs2 - Vuevalidate 异步验证结果到一个循环

javascript - 如何在 Nuxt 中使用一个组件创建无限路由