uni-app uni-forms组件的表单验证

news2025/1/11 5:51:03

前言

  • 最近使用uni-app开发时,在使用加强表单时,使用表单验证的过程和PC端的区别
  • uni-app文档说如果要使用自定义表单验证是需要去掉form中:rules="rules",使用ref绑定
  • 但最终我使用validateFunction 自定义校验规则,使用上面2种方式都会触发,
  • 个人觉得还是以官方文档为主,万一:rules="rules"失效导致错误就得不偿失

文档说明

 

<template>
	<view>
		<uni-forms ref="form" :rules="rules" :modelValue="formData">
			<uni-forms-item label="兴趣爱好" required name="hobby">
				<uni-data-checkbox v-model="formData.hobby" multiple :localdata="hobbys" />
			</uni-forms-item>
		</uni-forms>
		<button class="button" @click="submit">校验表单</button>
	</view>
</template>
<script>
export default {
	data() {
		return {
			formData:{
				
			},
			rules: {
				hobby: {
					rules: [{
						required: true,
						errorMessage: '请选择兴趣',
					},{
						validateFunction:function(rule,value,data,callback){
							if (value.length < 2) {
								callback('请至少勾选两个兴趣爱好')
							}
							return true
						}
					}]
				}
			}
		}
	},
    // 注意form表单是写了:rules="rules"的
    // 这2种方式都会触发自定义表单验证
	// onReady() {
		// 需要在onReady中设置规则
	    // this.$refs.form.setRules(this.rules)
	// },
	methods: {
		submit(form) {
			this.$refs.form.validate().then(res=>{
				console.log('表单数据信息:', res);
			}).catch(err =>{
				console.log('表单错误信息:', err);
			})
		}
	}
}
</script>

总结:

经过这一趟流程下来相信你也对 uni-app uni-forms组件的表单验证 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

音质更进一步,更耐用的骨传导耳机,南卡Runner Pro 4S上手

骨传导耳机是一种非常适合户外使用的耳机&#xff0c;很多喜欢运动的朋友都会配备一副&#xff0c;户外健身的时候会一直戴着。这种耳机使用时不入耳&#xff0c;通过震动颧骨来传递声音&#xff0c;不影响我们和别人的正常交流&#xff0c;户外也可以清楚感知车流、鸣笛的声音…

专业小程序开发平台 教你如何开发点餐小程序

今天小编借助在线工具乔拓云&#xff0c;只需借助在线模板和无编程开发工具&#xff0c;轻松实现点餐小程序开发和管理&#xff0c;下面跟着小编的教程一起学习&#xff0c;如何使用乔拓云工具开发专属的外卖点餐订餐小程序平台。 像这样一个点餐外卖小程序只需一个模板无编程就…

Java多线程与并发-原理

1、synchronized 线程安全问题的主要诱因 存在共享数据&#xff08;也称临界资源&#xff09;。存在多条线程共同操作这些共享数据。 解决问题的根本方法&#xff1a; 同一时刻有且只有一个线程在操作共享数据&#xff0c;其他线程必须等到该线程处理完数据后再对共享数据进…

【编译、链接、装载八】链接

【编译和链接八】链接 一、链接的起源——链接器年龄比编译器长1、 机器指令时代2、汇编指令时代3、链接4、静态链接5、结合CPU指令分析链接 二、链接的接口——符号1、ELF符号表结构1.1、符号类型和绑定信息&#xff08;st_info&#xff09;1.2、符号所在段&#xff08;st_shn…

图神经网络的基本结构

文章目录 图神经网络的基本结构图谱和图傅里叶变换基于频谱域的GNN和基于空间域的GNN的比较图神经网络的任务需求和模型要求任务需求模型要求 图神经网络的实用框架GCN图神经网络的几道面试题 图神经网络的基本结构 图神经网络 (Graph Neural Network, GNN) 是一类用于处理图数…

UI自动化测试的痛点有哪些?怎么解决

目录 前言 1、需求不稳定&#xff0c;频繁变更的项目 2、开发维护周期短的项目 3、被测系统开发不规范&#xff0c;可测试性需求不明确 总结&#xff1a; 前言 当我们找工作的时候查看招聘信息发现都需要有自动化测试经验&#xff0c;由此看来测试人员不会一点自动化测试技…

【已解决】无法启动此程序,因为计算机中丢失vcruntime140.dll(解决方案)

vcruntime140.dll是什么什么文件呢&#xff1f;为什么电脑在运行一些游戏的时候会出现丢失vcruntime140.dll&#xff0c;然后游戏运行失败?这个dll文件是电脑重要的运行库文件。丢失了会导致很多程序无法运行。下面将介绍【已解决】无法启动此程序,因为计算机中丢失vcruntime1…

AOP介绍

AOP的介绍AOP相关概念相关概念&#xff1a;细谈通知 Spring AOP使用准备工作前置通知具体实现环绕通知配置规则表达式解析 Spring AOP原理 AOP的介绍 AOP:AOP是一种思想&#xff1b;面向切面编程。它对某一类的事情做集中处理&#xff1b;更准确的说是面向集中功能的编程 Spri…

【Linux常用命令上】——Linux系统02

目录索引 快速复习导航&#xff1a;查看Linux的ip&#xff1a;查看当前用户&#xff1a;切换路径&#xff1a;退出当前文件夹&#xff1a;用户工作目录&#xff1a; 文件树&#xff1a;测试网路是否正常连接&#xff1a;清除指令&#xff1a;查看当前操作系统信息&#xff1a;s…

SpringBoot整合模板引擎Thymeleaf(3)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 概述 在本章节详细介绍Thymeleaf的内置对象及其工具类。 Thymeleaf内置对象 对象描述#ctx上下文对象#vars同 #ctx&#xff0c;表示上下文变量#locale上下文本地化&#…

Java集合中ArrayList、LinkedList异同(面试题)

为什么一般都使用 List list new ArrayList() ,而不用 ArrayList alist new ArrayList()呢&#xff1f; 1. 问题就在于List有多个实现类&#xff0c;如 LinkedList或者Vector等等&#xff0c; 现在你用的是ArrayList&#xff0c;也许哪一天你需要换成其它的实现类呢&#xf…

自定义异常

打开搜索界面&#xff0c;快捷键:双击shift键盘 如何创立一个自己定义简单的异常&#xff0c;如下: 1&#xff0c;先用extends继承Exception&#xff08;总异常类&#xff09;然后定义私有类变量 2&#xff0c;用快捷键&#xff1b;latinsert 选择构造器&#xff08;Constru…

Python+Requests+Unittest接口自动化测试

(1)接口自动化测试的意义、前后端分离思想 接口自动化测试的优缺点&#xff1a; 优点&#xff1a; 测试复用性。 维护成本相对UI自动化低一些。 为什么UI自动化维护成本更高&#xff1f; 因为前端页面变化太快&#xff0c;而且UI自动化比较耗时&#xff08;比如等待页面元素的…

C高级 day37

1、编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 1、包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的 2、和当前用户说“hello 用户名” 3、显示您的机器名 hostname 4、显示上一级目录中的所有文件的列表 5、显示变量PATH和HOME的值…

ESP32 S3-OLED显示小数函数

ESP32 S3 ardino平台&#xff0c;配中景园7针0.96OLED屏显示小数 OLED网上的驱动代码一般厂商发货会提供驱动程序&#xff0c;但是显示小数很多都没有编写。这里编写了一段可显示任意位小数的代码&#xff08;以正点原子代码为基础&#xff09;&#xff0c;需要显示有符号的小数…

HDFS读写流程

读数据流程 客户端向NameNode请求文件的位置&#xff1a;客户端想要访问一个文件时&#xff0c;会向NameNode发送一个请求&#xff0c;要求获取该文件在HDFS上的位置信息。 NameNode将位置信息返回给客户端&#xff1a;NameNode接收到客户端的请求后&#xff0c;会返回该文件所…

【人脸检测0】视频分解图片与图片合成视频

一,引言 目标:这小节主要通过两个demo熟悉视频分解图片与图片合成视频的OpenCV的应用 环境:python3.6+OpenCV3.3.1 二,示例 Demo1:视频分解图片 目标: 1.指定文件夹中读取视频文件 2.将视频文件分解为图片 3.将图片保存在指定文件夹中 # -*-coding:utf-8-*- #auth…

Eureka配置文件详解

Eureka配置文件详解 文章目录 Eureka配置文件详解一、Eureka instance 配置项&#xff1a;二、Eureka Client 配置项三、Eureka Dashboard仪表板配置项四、Eureka Server配置项4.1 server与client关联配置4.2 server 自定义实现的配置4.3 server 与 remote 关联的配置4.4 serve…

《计算机图形学基础教程(孔令德)》期末考试-复习重点

文章目录 第一章&#xff08;重点&#xff09;&#xff1a;考概念1. 计算机图形的两种表示方法 P52. 计算机图形学、模式识别、计算机视觉等等之间的关系 P63. 计算机图形学的研究内容 &#xff08; 笔记P7 &#xff09;4. 发展历史 P75. 图形显示设备的发展 P96. 相关名词解释…