vue+elementui给遍历生成表单添加效验

vue页面

javascript 复制代码
<el-form ref="form" :model="form" label-width="150px" :inline="true" :rules="formRules">
    <el-collapse-item
      :name="index + 1"
      v-for="(item, index) in form.list"
      :key="index"
    >
    <el-form-item
	 :prop="`list[${index}].peoples[${idx}].phone`"
	 :rules="formRules.phone"
	>
      <el-input v-model="i.phone"></el-input>
      </el-form-item>
       <el-form-item
         :prop="`list[${index}].peoples[${idx}].eamil`"
         :rules="[{ required: true, message: '请输入邮箱地址', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }]"
       >
   		<el-input v-model="i.eamil"></el-input>
 	</el-form-item>
   </el-collapse-item>
 </el-form>
                    

js 页面

javascript 复制代码
 data() {
        var checkPhone = (rule, value, callback) => {//手机号码校验
            const phoneReg = /^1[3|4|5|7|8|9][0-9]{9}$/
            console.log('vv',value);
            if (!value) {
              return callback(new Error('电话号码不能为空'))
            }
            setTimeout(() => {
              if (!Number.isInteger(+value)) {
                callback(new Error('请输入数字值'))
              } else {
                if (phoneReg.test(value)) {
                  callback()
                } else {
                  callback(new Error('电话号码格式不正确'))
                }
              }
            }, 100)
          }
        return {
            formRules:{
                'phone':[
                    { required: true,validator: checkPhone }
                ]
            },
   		}
   }
相关推荐
wuhen_n2 小时前
LeetCode -- 15. 三数之和(中等)
前端·javascript·算法·leetcode
脾气有点小暴3 小时前
scroll-view分页加载
前端·javascript·uni-app
前端开发爱好者4 小时前
VSCode 重磅更新!要收费了?
前端·javascript·visual studio code
wuhen_n5 小时前
LeetCode -- 1:两数之和(简单)
javascript·算法·leetcode·职场和发展
假装我不帅5 小时前
jquery.nicescroll使用
前端·javascript·jquery
安_6 小时前
js 数组splice跟slice
开发语言·前端·javascript
叫我阿柒啊6 小时前
从Java全栈到前端框架:一场真实的技术面试对话
java·vue.js·spring boot·微服务·typescript·前端开发·后端开发
Maxkim7 小时前
「✍️JS原子笔记 」深入理解JS数据类型检测的4种核心方式
前端·javascript·面试
小高0077 小时前
Elips-Core:轻量级 Node.js Web 框架核心实现
前端·javascript·node.js
Aotman_7 小时前
Vue MutationObserver 监听
前端·javascript·vue.js·elementui·前端框架·ecmascript