vue+element 弹框嵌套表单并验证

最近做项目,需要实现一个功能,就是点击新增按钮实现弹框,弹框里面是表单,点击保存的时候对表单进行验证,这样一个功能一点一点的去实现很简单,但是聚合在一起嫩是花了我半天时间,最终实现了这个功能,我也会把我做的过程中的错误贴出来,并写上解决办法(只是我的代码出现的问题)

'Error in event handler for “click”: “TypeError: Cannot read property ‘validate’ of undefined”',

我百度这个问题花了好久好久,虽然网上也有很多和我一样遇到这个问题的朋友,但是,千篇一律都写得是这样的解决办法:

登录
@click="Submit()"参数没有加单引号,

或者是说ref的和refs的名字要一致

 

submitForm(ruleForm) {
        this.$refs[ruleForm].validate((valid) => {
          if (valid) {
}

第一种说的解决办法也是一个坑,所以要加单引号;

但是,我按照上面的解决办法来改代码,还是报错,我要疯了,???,不认输,我还是继续百度,突然看到一个博主写的代码,恍然大悟

我写的错误代码


        
          
            
          
          
            
          
        
         确定
         取消
      

我写的正确代码


        
          
            
          
          
            
          
          
            确定
            取消
          
        
      

不仔细看真的看不出来,原来是两个按钮是表单里面的而不是对话框里面的,阿西!!!就这样解决了!关于表单验证官网讲的很详细,也有例子,我就是按照官网来做的,在form里面加一个rules,参照我正确写法

  rules: {
        dictCategoryCnName: [
            { required: true, message: '请输入字典分类名称', trigger: 'blur' }
        ],
        dictCategoryEnName: [
            { required: true, message: '请输入字典分类值', trigger: 'blur' }
        ]
      }, //弹框表单验证

解决问题到实现完成就用了半个小时,是不是很简单!!!

你可能感兴趣的:(vue+element 弹框嵌套表单并验证)