ant design vue做表单验证及form表单外验证、父子嵌套多个表单校验

news/2024/9/28 19:35:18 标签: vue.js, javascript, 前端

1、form表单验证(若有时遇到输入框有值但是还是触发验证规则了,请检查form表单绑定正确吗、校验规则正确吗、表格数据字段名正确吗)

<a-form
  :model="formState"
  :label-col="{ span: 8 }"
  :wrapper-col="{ span: 16 }"
  :rules="rules"
  ref="form"
>
    <a-row :gutter="[0, 24]">
       <a-col :span="8">
          <a-form-item name="faqiren" label="发起人" labelAlign="right">
              <a-input v-model:value="formState.faqiren" disabled />
          </a-form-item>
       </a-col>
     </a-row>
 </a-form>
<a-button type="primary"  html-type="submit" @click="SubmitReview()">
提交审核</a-button>

// 表单数据对象
  const formState = ref({
    faqiren: '',
  });
  const rules = {
    faqiren: [
      {
        required: true,
        trigger: 'change',
      },
    ]
  };

2、form表单外验证


const form = ref();
const SubmitReview = () => {
    form.value
      .validateFields()
      .then((values) => {
        console.log('验证通过,表单数据为:', values);
      })
      .catch((errorInfo) => {
        console.log('验证失败,错误信息为:', errorInfo);
      });
};

3、父子嵌套多个表单校验(父组件中有一个form表单,子组件中也有一个form表单,需求是在父组件中统一处理父组件和子组件的2个表单的校验)

 父组件

//父组件
<a-form
  :model="formState"
  :label-col="{ span: 8 }"
  :wrapper-col="{ span: 16 }"
  :rules="rules"
  ref="form"
>
    <a-row :gutter="[0, 24]">
       <a-col :span="8">
          <a-form-item name="faqiren" label="发起人" labelAlign="right">
              <a-input v-model:value="formState.faqiren" disabled />
          </a-form-item>
       </a-col>
     </a-row>
 </a-form>
//子组件
<zhuanchu ref="form1" v-if="formState.biandongleixing == 'zhuanchu'"></zhuanchu>

<a-button type="primary"  html-type="submit" @click="SubmitReview()">
提交审核</a-button>

// 表单数据对象
  const formState = ref({
    faqiren: '',
  });
  const rules = {
    faqiren: [
      {
        required: true,
        trigger: 'change',
      },
    ]
  };


const form = ref();
const SubmitReview = () => {
//父组件校验
    form.value
      .validateFields()
      .then((values) => {
        console.log('验证通过,表单数据为:', values);
      })
      .catch((errorInfo) => {
        console.log('验证失败,错误信息为:', errorInfo);
      });
//子组件校验
    form1.value.getDom()
      .validateFields()
      .then((values) => {
        console.log('验证通过,表单数据为:', values);
      })
      .catch((errorInfo) => {
        console.log('验证失败,错误信息为:', errorInfo);
      });
};

子组件 

//子组件
<a-form
  :model="formState"
  :label-col="{ span: 8 }"
  :wrapper-col="{ span: 16 }"
  :rules="rules"
  ref="form2"
>
    <a-row :gutter="[0, 24]">
       <a-col :span="8">
          <a-form-item name="nianling" label="年龄" labelAlign="right">
              <a-input v-model:value="formState.nianling" disabled />
          </a-form-item>
       </a-col>
     </a-row>
 </a-form>

// 表单数据对象
  const formState = ref({
    nianling: '',
  });
  const rules = {
    nianling: [
      {
        required: true,
        trigger: 'change',
      },
    ]
  };

  const form2=ref()
  const getDom=()=>{
    return form2.value
  }
  defineExpose({getDom})


http://www.niftyadmin.cn/n/5681721.html

相关文章

flink设置保存点和恢复保存点

增加了hdfs package com.qyt;import org.apache.flink.api.java.functions.KeySelector; import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.runtime.state.storage.FileSystemCheckpointStorage;import org.apache.flink.streaming.api.datastream.Dat…

《 Spring Boot实战:优雅构建责任链模式投诉处理业务》

Spring Boot实战&#xff1a;优雅构建责任链模式投诉处理业务 文章目录 Spring Boot实战&#xff1a;优雅构建责任链模式投诉处理业务场景描述&#xff1a;代码实现Step 1: 定义投诉请求类Step 2: 定义抽象处理者类Step 3: 实现具体的处理者类Step 4: 创建投诉处理链Step 5: 创…

基于Hive和Hadoop的哔哩哔哩网站分析系统

本项目是一个基于大数据技术的哔哩哔哩平台分析系统&#xff0c;旨在为用户提供全面的哔哩哔哩视频数据和深入的用户行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xf…

如何评估婚恋交友小程序的投资回报率

在这个数字化的时代&#xff0c;越来越多的人选择通过手机应用程序寻找自己的另一半。随着婚恋交友小程序的兴起&#xff0c;编辑h17711347205如何评估这类产品的投资回报率&#xff08;ROI&#xff09;成为了投资者和运营者关注的重点。本文将探讨如何有效地评估婚恋交友小程序…

如何构建鲁棒高性能 Prompt 的方法?

你好&#xff0c;我是三桥君 在当今时代&#xff0c;利用大型语言模型如ChatGPT进行文本生成和交互已成为一种趋势。然而&#xff0c;要充分发挥这些模型的能力&#xff0c;尤其是在生产环境中&#xff0c;我们需要精心设计和优化我们的提示词&#xff08;prompt&#xff09;。…

【C语言】动态内存管理:malloc、calloc、realloc、free

本篇介绍一下C语言中的malloc/calloc/realloc。 使用这些函数需要包含头文件<stdlib.h>。malloc/calloc/realloc申请的空间都是 堆区的。 1.malloc和free 1.1 malloc C语言提供了一个动态内存开辟的函数malloc&#xff0c;函数原型如下。 void* malloc(size_t size);…

汽车总线之---- LIN总线

Introduction LIN总线的简介&#xff0c;对于传统的这种点对点的连接方式&#xff0c;我们可以看到ECU相关的传感器和执行器是直接连接到ECU的&#xff0c;当传感器和执行器的数量较少时&#xff0c;这样的连接方式是能满足要求的&#xff0c;但是随着汽车电控功能数量的不断增…

代码为笔,合作作墨,共绘共赢画卷———未来之窗行业应用跨平台架构

合作共赢&#xff0c;代码同创&#xff0c;成就非凡 一、资源整合方面 1.1. 技术资源共享 - 不同的合作伙伴可能在技术领域各有所长。例如&#xff0c;一方可能擅长前端用户界面设计&#xff0c;具有丰富的交互设计经验&#xff0c;能够打造出美观、易用的预订界面&#xff…