element ui 校验多个同名表单

需求:默认界面中会有一个表单,可通过表单下面的添加按钮进行添加表单操作,在填写完表单提交时需要校验多个表单中的必填字段是否为空

界面代码如下:

 

<div v-for="(item, index) in tempVillagerDtoList" :key=(index)>
         <el-form label-width="100px" class="ruleJourney" ref="ruleJourney" :rules="rulesJourney" :model="item">
             <el-form-item label="时间" prop="proDate">
                 <el-date-picker style="width: 230px;" v-model="item.proDate" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
                 </el-date-picker>
             </el-form-item>
             <el-form-item label="地点" prop="site">
                 <el-input v-model="item.site" maxlength="18"></el-input>
             </el-form-item>
             <el-form-item label="事件" prop="event">
                 <el-input type="textarea" rows="4.5" placeholder="输入内容" style="width: 80%;" v-model="item.event" maxlength="200"></el-input>
             </el-form-item>
         </el-form>
         <el-button class="emptybtn" @click="handlecalce(index)">删除</el-button>
         <div style="margin-left: 90px;">
             <el-button type="primary" @click="handleAddpeople">+再加一条轨迹</el-button>
 </div>

js代码如下:


export default {
    data() {
        return {
          // 表单参数
          formParams: {
            deptId: null, //单位id
            deptName: null, //单位名称
            branchId: null, //部门id
            branchName: null, //部门名称
            employeeId: null, //职工id
            employeeName: null, //职工姓名
            phone: null, //手机号
            idNo: null, //身份证
            processTrajectoryList: [], //流程轨迹
            visit: null, //发病与就诊
            resolved: null, //已采取措施
          },
          rulesJourney: {
            proDate: [{ required: true, message: "请选择时间", trigger: "change" }],
            site: [{ required: true, message: "请选择地点", trigger: "change" }],
            event: [{ required: true, message: "请选择事件", trigger: "change" }],
          },
      },
      methods: {
           /** 提交 */
        submitForm() {
          let arr = [];
          this.$refs["ruleJourney"].forEach((item) => {
            item.validate((valid) => arr.push(valid));
          });
          let validateState = arr.every((item) => {
            return item;
          });
          if(validateState){
               console.log("校验成功")
          }
     }

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Element UI中进行表单校验,可以按照以下步骤操作: 1. 在el-form元素上添加校验规则字段rules,并将其绑定到一个对象上。例如,在data中定义一个名为rules的对象,并将其绑定到el-form上::rules="rules"。 2. 在script标签中定义rules对象,并在该对象中添加要校验的字段及其校验规则。每个字段的校验规则是一个数组,包含一个或多个校验规则对象。例如,要校验用户名字段,可以使用以下格式进行配置: ``` rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ] } ``` 这个例子中的校验规则要求用户名字段不能为空,且在表单失去焦点时触发校验。你可以根据需求自定义校验规则。 3. 在el-form-item元素内部的el-input组件上添加需要校验的字段名。例如,要校验用户名字段,可以在el-input上添加prop属性并将其值设置为"username"。 4. 如果还需要在提交表单时进行整体校验,可以使用el-form组件的validate方法。在点击提交按钮或其他触发表单提交的事件时,调用validate方法即可。例如,可以在按钮的点击事件中添加以下代码: ``` this.$refs.form.validate((valid) => { if (valid) { // 表单校验成功,执行提交操作 } else { // 表单校验失败,给出相应提示 } }); ``` 这个例子中的代码会对整个表单进行校验,并在校验完成后的回调函数中判断校验结果。如果valid为true,则表示校验通过;如果valid为false,则表示校验不通过。 以上是在Element UI中进行表单校验的基本步骤。你可以根据实际需求自定义校验规则,并根据校验结果进行相应的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值