首页 > 其他分享 >多个form表单同时校验

多个form表单同时校验

时间:2024-02-22 15:23:19浏览次数:35  
标签:mulitipleFormValid return form 校验 表单 js formRefs validateForms

1.新建mulitipleFormValid.js

/**
 * 多个表单同时校验
 * @param {*} formRefs 
 * @returns 
 */
const validateForms = (formRefs) => {
  let objectList = [];
  let results = formRefs.map(formRef =>
    new Promise((resolve, reject) => {
      formRef.validate((valid, object) => {
        if (valid) {
          resolve();
        } else {
          objectList.push(object);
          reject();
        }
      });
    })
  )
  return Promise.all(results).catch(() => {
    return Promise.reject(objectList);
  });
}
export default validateForms

2.在需要使用的页面引入js

import validateForms from '@/utils/mulitipleFormValid.js' template代码只是一种举例方法<template>
<div>
<el-form
          ref="workplacesForm1"
          :model="moduleObj"
          label-position="right"
          label-width="120px"
          label-suffix=":"
          :rules="tellRules"
        >
         <el-form-item label="" label-width="0" prop="functionName">
                  <el-input
                    style="width: 200px"
                    v-model="moduleObj.functionName"
                    placeholder="请输入函数名"
                    clearable
                    :disabled="isdisabledModule"
                    maxlength="300"
                    show-word-limit
                  />
                </el-form-item>
        </el-form>
<el-form
          ref="workplacesForm2"
          :model="moduleObj"
          label-position="right"
          label-width="120px"
          label-suffix=":"
          :rules="tellRules"
        >
         <el-form-item label="" label-width="0" prop="phone">
                  <el-input
                    style="width: 200px"
                    v-model="moduleObj.phone"
                    placeholder="请输入电话"
                    clearable
                    :disabled="isdisabledModule"
                    maxlength="11"
                    show-word-limit
                  />
                </el-form-item>
        </el-form>
</div>
</template>
<script>
import validateForms from '@/utils/mulitipleFormValid.js'
export default{
data(){
  return {
     tellRules: {
          functionName: [
            {
              message1: ['函数名不能为空', '函数名只能为英文、数字、特殊字符'],
              trigger: 'blur',
              validator: isNotChineseValid
            }
          ],
          phone: [
            {
              message: '电话不能为空',
              trigger: 'blur',
              validator: isZeroValid
            }
          ]
        },
  }
}
}
</script>

let formRefs = ['workplacesForm1','workplacesForm2'].map(key => this.$refs[key])
      validateForms(formRefs)
        .then(async () => {
         // 校验成功后处理内容区域
        })
        .catch(() => {
          return false
        })

 


标签:mulitipleFormValid,return,form,校验,表单,js,formRefs,validateForms
From: https://www.cnblogs.com/xiaoqilaile/p/18027384

相关文章

  • el-form表单使用pattern自定义校验规则
    //正则校验的正则表达式,这里注意正则表达式中的‘\’要使用‘\\’转义constpatterns={"name":"^[a-zA-Z_][0-9a-zA-Z_]{0,}$","tel":"^1[2-9]\\d{0,}$","email":"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-......
  • 【每周一读】A Survey of Techniques for Maximizing LLM Performance
    ......
  • 我在winform项目里使用“Windows I/O完成端口”的经验分享
    少年!看你骨骼惊奇,是万中无一的练武奇才,我这儿有本武林秘籍,见与你有缘就送你了! 如来神掌WindowsI/O完成端口是一个我至今都说不好的话题,请宽容的接受我这不是科班出身的自学成才的野生程序员身份。以前在上海一公司做产品追溯的时候,我的老大拿出一本《Windows核心编程》经常......
  • vue3 ts用正则表达式校验两位小数和校验整数的方法
    <el-col:span="12"><el-form-itemlabel="贷款金额"prop="loanAmount"><el-input-numberv-model="props.loanAmount":min="0"@change="checkIntegerNumber('loanAmount')"controls......
  • python-transformers库
    python-transformers库目录python-transformers库安装测试功能和优势Transformers术语模型与分词器加载预训练模型保存模型分词器编码和解码填充Padpipelinepipeline简介pipeline原理参考资料transformers是一个用于自然语言处理(NLP)任务,如文本分类、命名实体识别,机器翻译等,提供......
  • 一文了解广州自定义表单开源的诸多优势特点
    广州自定义表单开源可以助力企业实现提质增效、降低人工成本的发展目的,因而在通信业、电力、高校、制造业、医疗等很多行业中获得了大家的点赞与支持。广州流辰信息是一家专业性强的低代码技术平台服务商,潜心研发广州自定义表单开源工具,与客户朋友一起创造更具价值的辉煌前程。那......
  • Qt程序执行报错:"This application failed to start because not Qt platform plugin c
    Qt编译的exe程序执行时报错:出现以上错误的原因是由于的系统环境路径缺失或者exe程序目录下缺少对应的dll导致。以上为缺少对应的Qtplatformplugin。在Qt的安装目录下将platforms整个目录拷贝到exe所在目录下,即可执行。如果提示缺少对于的xxx.dll直接将对应缺失......
  • ffmpeg之avformat_alloc_output_context2
    函数原型:intavformat_alloc_output_context2(AVFormatContext**ctx,constAVOutputFormat*oformat,constchar*format_name,constchar*filename);功能:查找根据format_name或者filename或者oformat输出类型,并且初始化ctx结......
  • Winform创建仅接收消息的窗口
    internalclassMessageOnlyWindow:NativeWindow{privateconststringWindowName="MessageOnlyWindow";publicLowLevelView(){varcreateParams=newCreateParams{Style=0,ExStyle=0,......
  • ReadableStream/TransformStream/HMR/软件设计哲学/SSR 条件渲染/CSS.escape/Copilot
    ReadableStream,TransformStream-探索如何在React服务器组件中使用流来提升性能和用户体验。HMR-简介热模块替换技术,使前端开发更加高效。软件设计哲学-深入理解软件设计背后的哲学思考。SSR条件渲染组件-SSR条件渲染的实现方法,优化页面加载速度和SEO。C......