TEt*_*tet 7 vue.js vue-validator vuelidate
您好,我需要验证密码表单 除了必填字段 必须至少有一个大写字母,至少有一个小写字母,数字至少有一个和至少一个以下字符“#?!@$% ^ & * -" 我正在使用这个包https://vuelidate.js.org/
编辑
或为此使用正则表达式
Kee*_*gan 18
只需在 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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
将每个需求分解为单独的功能可能会有所帮助,因此您可以为每个需求设置不同的错误消息(这将有助于指导用户了解他们需要修复的内容)。
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)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3730 次  |  
        
|   最近记录:  |