el-form中表单校验

一、代码如下:

<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
  <el-form-item
    label="年龄"
    prop="age"
    :rules="[
      {
    
     required: true, message: '年龄不能为空'},
      {
    
     type: 'number', message: '年龄必须为数字值'}
    ]"
  >
    <el-input type="age" v-model.number="numberValidateForm.age" autocomplete="off"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="submitForm('numberValidateForm')">提交</el-button>
    <el-button @click="resetForm('numberValidateForm')">重置</el-button>
  </el-form-item>
</el-form>
<script>
  export default {
    
    
    data() {
    
    
      return {
    
    
        numberValidateForm: {
    
    
          age: ''
        }
      };
    },
    methods: {
    
    
      submitForm(formName) {
    
    
        this.$refs[formName].validate((valid) => {
    
    
          if (valid) {
    
    
            alert('submit!');
          } else {
    
    
            console.log('error submit!!');
            return false;
          }
        });
      },
      resetForm(formName) {
    
    
        this.$refs[formName].resetFields();
      }
    }
  }
</script>

二、说明:

submitForm方法中的参数实际上就是"numberValidateForm",在1处用ref进行了绑定。通过this.$refs.numberValidateForm就可以获取到el-form,在最后提交时调用表单的validate方法进行了校验。

validatefdate方法:对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。若不传入回调函数,则会返回一个 promise。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42931285/article/details/124744398