elment-ui表格table中input校验坑

本文主要介绍了在Element UI的表格组件中如何进行input字段的校验。通过prop和rules进行校验,prop的值需要根据表格data动态生成,如`'表格数据名.' + scope.$index + '.字段名'`。同时强调data中必须定义校验规则,否则数据提交时会因validate拦截导致失败。此外,还提及了一种利用error属性进行校验的方案,虽能显示错误信息,但在数据提交时可能无法被validate拦截。
摘要由CSDN通过智能技术生成

参考了这个文章:https://blog.csdn.net/josiecici/article/details/118082391,
1.在表格中的input 一般是这种方式,利用prop和rules进行校验,但难点在于prop的设置
在表格中input的prop取决于表格的data
如果表格是:

 <el-table
   border
    :data="inputForm.oaprojBudgetOtherAmountList"
    style="width: 100%">

则在列中的input应该是

<el-table-column
   prop="payRate"
   header-align="center"
   align="center"
   label="付款比例">
   <template slot-scope="scope" >
     <el-form-item :prop="'oaprojBudgetOtherAmountList.'+scope.$index+'.payRate
Element UI表格 (`el-table`) 的输入校验通常是在配合 `el-form` 或 `el-input` 组件一起使用的。当在表格单元格内添加了 `el-input` 并需要验证用户输入时,你可以这样做: 1. 首先,在 `<el-form>` 组件里定义表单字段,并绑定到每个单元格的值上。例如,假设你有一个名为 `form` 的 Form 实例: ```html <template> <el-form ref="form" :model="formData"> <el-table :data="tableData"> <!-- ... --> <el-table-column prop="columnToValidate" label="验证列" align="center" scoped-slot="scope.row"> <el-input v-model="scope.row.columnToValidate" placeholder="请输入内容"></el-input> </el-table-column> <!-- ... --> </el-table> </el-form> </template> <script> export default { data() { return { formData: { // 这里存放表单数据,包括需要校验的字段 columnToValidate: '' }, tableData: [] // 表格数据 }; } }; </script> ``` 2. 然后,在表单的 `watch` 或者自定义事件处理器里添加输入校验规则。比如使用 Vue 的 `watch` 函数来监听字段变化并检查是否满足条件: ```javascript <script> //... methods: { handleValidation(value) { if (!value || value.length < 3) { this.$refs.form.validateField('columnToValidate', { valid: false }); } else { this.$refs.form.validateField('columnToValidate', { valid: true }); } } }, watch: { 'formData.columnToValidate': { immediate: true, handler(newValue) { this.handleValidation(newValue); } } } //... </script> ``` 在这个例子,如果 `columnToValidate` 的长度小于 3,`validateField` 方法会将该字段标记为无效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值