element表单校验,数据循环校验

步骤一:

表单绑定form对象,model和rules必填,自定义校验规则checkNum

<el-form
      :model="ruleForm"
      :rules="rules"
    >


data() {
    var checkNum = (rule, value, callback) => {
      if (value) {
        const reg = /^\d+$/ //大于等于零的整数
        if (reg.test(value)) {
          if(Number(value) > 999){
            return callback(new Error('最大输入999'))
          }else{
            callback()
          }
        } else {
          return callback(new Error('只能输入大于等于零的整数'))
        }
      } else {
        return callback(new Error('文本框不能为空'));
      }
    }
    return {
      ruleForm: {},
      rules: {
        limitTime: [ { required: true, validator: checkNum, trigger: 'blur' }],
      },
    };
  },

步骤二

表单循环内写法,prop和rules必填

<template v-for="(item, index) in ruleForm.riskList">
   <el-form-item label="姓名1" :prop="'riskList.'+index+'.limitTime'" :rules="rules.limitTime">
     <el-input v-model="item.limitTime" />
   </el-form-item>
 </template>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题,我可以给你提供一些基本的思路和建议,帮助你完成 element 循环校验。 首先,element 提供了很多校验的方法,包括:required、min、max、type、pattern、validator 等。你可以根据字段的特点和需求,选择相应的校验方法进行使用。 当你需要对循环进行校验时,可以通过遍历数组,逐一对每个项进行校验。同时,为了方便错误提示和提交,你可以给每个项设置唯一的 ref 属性,这样在校验时可以根据 ref 属性方便地获取相应的项。 在校验过程中,可以将每个项的校验结果保存在一个数组中,并在最后统一判断是否所有项都通过校验。如果有任何一个项未通过校验,可以将其对应的错误信息保存在一个对象中,最终将错误信息对象传递给父组件,以便进行错误提示和提交处理。 基本的校验代码如下所示: ```javascript <template> <el-form :model="form" ref="form" :rules="rules"> <el-form-item v-for="(item, index) in formItems" :key="index"> <el-input v-model="form[index]" :ref="'item_' + index"></el-input> </el-form-item> </el-form> </template> <script> export default { data() { return { formItems: [ { label: '姓名', prop: 'name' }, { label: '年龄', prop: 'age' }, { label: '性别', prop: 'gender' }, ], form: { name: '', age: '', gender: '', }, rules: { // 根据实际需求进行校验规则的设置 }, }; }, methods: { validate() { const errors = {}; this.formItems.forEach((item, index) => { const refName = 'item_' + index; const validResult = this.$refs.form.validateField(refName); if (validResult !== true) { // 根据实际需求设置错误信息 errors[item.prop] = validResult[0].message; } }); if (Object.keys(errors).length > 0) { // 根据实际需求进行错误提示和提交处理 } else { // 根据实际需求进行提交处理 } }, }, }; </script> ``` 当然,校验规则的设置和错误提示、提交处理等细节需要根据实际需求进行调整和完善。希望以上建议能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值