vue element table内表单校验
emer 发布于 2020-5-27 15:42 1718 次阅读
1.校验当前行表单:
<template slot-scope="scope"> <el-form :model="scope.row" :rules='rulesEdit' :ref='"numberValidateForm"+scope.$index' class="demo-ruleForm"> <el-form-item label="" prop='discountRate' :rules='rulesEdit.discountRate' > <el-input placeholder="请输入内容" v-show="scope.row.show" v-model="scope.row.discountRate"></el-input> </el-form-item> </el-form> <span v-show="!scope.row.show">{{scope.row.discountRate}}</span> </template>
data(){ return{ rulesEdit: { discountRate:[ { required: true, message: '折扣比例不能为空'}, { validator:Validator.number, message: '折扣比例必须为数字值',trigger:'blur'} ] } } }
},
methods:{
this.$refs['numberValidateForm'+index].validate((valid) => { if (valid) { this.$set(this.gridData['data'],index,row); row.show=false; } else { console.log('error submit!!'); return false; } });
}
2.校验table内全部可编辑框
<script src="//unpkg.com/vue/dist/vue.js"></script> <script src="//unpkg.com/element-ui@2.4.7/lib/index.js"></script> <div id="app"> <el-button type="primary" v-on:click="submitForm('ruleForm')">测试</el-button> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-table :data="ruleForm.tableData" style="width: 100%"> <el-table-column label="日期" width="280"> <template slot-scope="scope"> <el-form-item :prop="'tableData.' + scope.$index + '.date'" :rules='rules.test'> <el-input style="width:100%" v-model="scope.row.date" ></el-input> </el-form-item> </template> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> </el-form> </div>
var Main = { data() { return { ruleForm: { tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' }], }, rules: { test: [ { required: true, message: '请输入日期', trigger: 'change' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); } } }