vex-table表单如何进行校验(https://vxetable.cn/v3.8/#/table/edit/rowValid)也可参考官方文档实现

vxe-table地址 https://vxetable.cn/v3.8/#/table/edit/rowValid

首先需要在<vxe-table>标签上增加
:edit-rules="validRules"
这个也就是编辑最后保存时的校验

表格中增加按钮
<vxe-table>
    <vxe-column title="操作" width="240">
            <template #default="{ row }">
              <vxe-button status="warning" content="删除" @click="removeRowEvent(row)"></vxe-button>
              <vxe-button status="danger" content="保存" @click="save(row)"></vxe-button>
            </template>
          </vxe-column>
        </vxe-table>

然后在data中添加vaildRules

data () {
			//此段代码为自定义校验
            const nameValid = ({ cellValue }) => {
              if (cellValue && !/^\w+$/.test(cellValue)) {
                return new Error('名称格式不正确,必须字母或数字')
              }
            }
            return {
              validRules: {
              //name既是上面表格prop绑定的值
                name: [
                  { validator: nameValid }
                ],
                sex: [
                  { required: true, message: '性别必须填写' }
                ],
                age: [
                  { type: 'number', min: 10, max: 100000, message: '输入 10 ~ 100000 范围' }
                ],
                date: [
                  { required: true, message: '日期必须填写' }
                ]
              }
            }

最后点击保存时使用

async save(){
	validAllEvent () {
              const $table = this.$refs.xTable
              const errMap = await $table.validate(true).catch(errMap => errMap)
              $table.cleraActived().then(() =>{
					$table.validate(row,(errMap)=>{
						 if (errMap) {
			                VXETable.modal.message({ status: 'error', message: '校验不通过!' })
			              } else {
			                VXETable.modal.message({ status: 'success', message: '校验成功!' })
			              }
			            },
					})
				})
             
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值