3 个回答

建议不要用嵌套的form,可以用v-show/v-if来控制个别字段是否显示,然后在rule里面自己写validator,见自定义校验规则

如果非要用嵌套的表单,和单独的表单没有任何区别,可以参考如下代码

https://jsfiddle.net/Lx1k1ery/2/

vue使用正则表达式:

let validatePass = (rule, value, callback) => {
     let regExp = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
     if (value === '') {
        callback(new Error('请输入密码'))
     } else if (regExp.test(value) === false) {
       callback(new Error('8-16字母和数字组成,不能是纯数字或纯英文'))
     } else {
        if (this.ruleForm.repass !== '') {
          this.$refs.ruleForm.validateField('repass')
        }
          callback()
     }
}

全套完整代码:vuejs+element ui+ssm+maven实现登陆注册功能(有完整源码下载)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题