vue+element+ts。 提交校验多个表单

vue+element,提交校验多个表单

点击按钮进行表单提交,同时校验 多个表单. (运用的ts开发)代码如下:

//表单一
   <el-form
          class="form-box"
          ref="ruleForm"
          :rules="rules"
          :model="data"
          label-position="top"
          label-width="180px"
          :inline="true"
        >
          <el-row :gutter="40">
            <el-col :span="8">
              <el-form-item label="商品ID" prop="out_id">
                <el-input
                  v-model="data.out_id"
                  maxlength="100"
                  placeholder="请输入商品ID"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="商品名称" prop="name">
                <el-input
                  v-model="data.name"
                  maxlength="20"
                  placeholder="请输入商品名称"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
  //表单2
 <el-form
          class="form-box"
          ref="ruleForm1"
          :rules="rules"
          :model="data"
        >
         <el-row :gutter="24">
            <el-col :span="8">
              <el-form-item label="通用名" prop="generic_name">
                <el-input
                  v-model="data.generic_name"
                  maxlength="100"
                  placeholder="请输入通用名"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="汉语拼音" prop="pinyin">
                <el-input
                  v-model="data.pinyin"
                  placeholder="请输入汉语拼音"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="药品" prop="main_ingredient" style="">
                <el-input
                  v-model="data.main_ingredient"
                  maxlength="100"
                  placeholder="请输入药品"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
//按钮
  <el-button type="primary" @click="submitForm" class="addBtn"
          >确定</el-button
        >
//多表单进行同时校验
  submitForm(formName: string) {
    console.log(this.data, "新增接口字段");
    const p1 = new Promise<void>((resolve, reject) => {
      const formRef = this.$refs["ruleForm"] as any;
      formRef.validate((valid: boolean) => {
        if (valid) {
          resolve();
        }
      });
    });

    const p2 = new Promise<void>((resolve, reject) => {
      const formRef1 = this.$refs["ruleForm1"] as any;
      formRef1.validate((valid: boolean) => {
        if (valid) {
          resolve();
        }
      });
    });
    Promise.all([p1, p2])
      .then(() => {
        console.log("验证通过,提交表单");
      })
      .catch(() => {
        console.log("未通过");
      });
  }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值