开源项目低代码表单FormCreate中ElementPlus表单使用校验规则示例

news2024/9/24 7:14:09

在开源项目低代码表单FormCreate 中,可以通过 validate 配置项为表单组件设置验证规则。无论是内置的表单组件还是自定义的表单组件,都支持表单校验。本文将详细介绍验证规则的使用方法,并提供一些示例来帮助您更好地理解和应用这些功能。

源码地址: Github | Gitee

低代码表单FormCreate

基本验证规则

validate 配置项允许您为每个表单字段定义多种验证规则。每个规则都是一个对象,您可以通过设置不同的属性来控制验证行为。

参数说明类型默认值
enum枚举类型string-
len字段长度number-
max最大长度number-
message校验文案string-
min最小长度number-
pattern正则表达式校验RegExp-
required是否必选booleanfalse
transform校验前转换字段值function(value) => transformedValue:any-
type内建校验类型,可选项string‘string’
validator自定义校验function(rule, value, callback)-
whitespace必选时,空格是否会被视为错误booleanfalse

type 需要根据组件的 value 类型定义

常见校验示例

1.必填字段校验

{
  type: 'input',
  field: 'username',
  title: '用户名',
  validate: [
    { required: true, message: '用户名是必填项' }
  ]
}

2.最小长度校验

{
    type: 'input',
        field: 'password',
        title: '密码',
        validate: [
        { required: true, min: 6, message: '密码长度不能少于6个字符' }
    ]
}

3. 正则表达式校验

{
    type: 'input',
        field: 'phone',
        title: '电话号码',
        validate: [
        { required: true, message: '请输入电话号码' },
        { pattern: '^1[3-9]\d{9}$', message: '请输入有效的手机号' }
    ]
}

4. 自定义校验

{
    type: 'input',
        field: 'age',
        title: '年龄',
        validate: [
        {
            validator: (rule, value, callback) => {
                if (value < 18) {
                    callback(new Error('年龄必须大于或等于18岁'));
                } else {
                    callback();
                }
            },
            message: '请输入合法的年龄'
        }
    ]
}

5. 枚举值校验

{
    type: 'select',
        field: 'role',
        title: '角色',
        validate: [
        { required: true, message: '请选择角色' },
        { enum: ['admin', 'user', 'guest'], message: '角色必须是admin, user, 或guest' }
    ],
        options: [
        { label: '管理员', value: 'admin' },
        { label: '用户', value: 'user' },
        { label: '游客', value: 'guest' }
    ]
}

利用本文中的示例和 async-validator 的文档,您可以快速实现各种校验需求,为用户提供更好的表单交互体验。

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

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

相关文章

2024年最新微短剧系统重构版,短剧小程序源码开源源码搭建部署

技术栈 前端&#xff1a;vueuniapp 后端&#xff1a;php 数据库&#xff1a;MySQL <?php class Drama {private $title;private $description;private $cast;private $genre;public function __construct($title, $description, $cast, $genre) {$this->title $tit…

iPhone手机备忘录转移到Windows电脑上的方法

备忘录作为我们日常生活中常用的软件&#xff0c;帮助我们记录下重要事项、待办任务、灵感创意等&#xff0c;已成为许多人不可或缺的工具。然而&#xff0c;当我们需要在不同设备间转移备忘录内容时&#xff0c;常常会遇到一些困难。特别是从iPhone手机转移到Windows电脑上&am…

从0到1实现线程池(C语言版)

目录 &#x1f324;️1. 基础知识 ⛅1.1 线程概述 ⛅1.2 linux下线程相关函数 &#x1f325;️1.2.1 线程ID &#x1f325;️1.2.2 线程创建 &#x1f325;️1.2.3 线程回收 &#x1f325;️1.2.4 线程分离 &#x1f324;️2. 线程池概述 ⛅2.1 线程池的定义 ⛅2.2 为…

多种现货黄金的简介 第三种你要特别注意

近期黄金的价格全线上涨&#xff0c;虽然作为商品&#xff0c;一般人看到其价格上涨&#xff0c;购买它的欲望就下跌了。但是作为一种投资品种&#xff0c;在近期黄金价格的上涨以及未来美联储货币政策的影响下&#xff0c;他的投资潜力是巨大的。但市场中有那么多的黄金理财产…

JavaScript编程精粹:语法、函数与对象

JavaScript编程精粹&#xff1a;语法、函数与对象 一 . JavaScript 介绍1.1 应用场景1.2 JavaScript 介绍1.3 JavaScript 组成部分 二 . JavaScript 引入方式2.1 内部脚本2.2 外部脚本 三 . JavaScript 基础语法3.1 输出语句3.2 变量3.3 数据类型3.3.1 number 类型3.3.2 string…

W11电脑无法找到音频输出设备,所有声音设备都是空的的解决方法

搜索&#xff1a;设备管理器 然后下滑查看。 在查看的时候&#xff0c;发现OED上面有一个黄色的感叹号 右键更新之后即可&#xff0c;笔者是选择的本地更新。 之后右下角的声音设备就恢复正常了

局域网设备自动发现常用方法

文章目录 需求实现方法ARP (Address Resolution Protocol)Ping ip的流程抓包如下代码实现 mDNS 对比测试Avahi 介绍Avahi 安装Avahi 使用测试代码 需求 局域网设备自动发现是软件开发中的一个常见且重要的需求&#xff0c;它简化了设备间的协作机制&#xff0c;降低了软件各模…

自动化测试之Selenium的使用

06、Selenium的使用 Selenium 是一个自动化测试工具&#xff0c;利用它可以驱动浏览器执行特定的动作&#xff0c;如点击、下拉等操作&#xff0c;同时还可以获取浏览器当前呈现的页面的源代码&#xff0c;做到可见即可爬。对于一些 JavaScript 动态渲染的页面来说&#xff0c…

CleanMyMac X2024破解版mac电脑清理工具

今天&#xff0c;我要跟大家分享一个让我彻底告别电脑卡顿的秘密武器——CleanMyMac X。这不仅仅是一款普通的清理工具&#xff0c;它是你电脑的私人健身教练&#xff0c;让电脑焕发青春活力&#xff01; CleanMyMac直装官方版下载地址&#xff1a; http://wm.makeding.com/i…

公共英语三级考试时间安排

公共英语三级考试时间安排

STM32学习笔记(二、初识stm32单片机)

一、stm32的含义是什么&#xff1f; 首先stm32是意法半导体公司&#xff08;ST&#xff09;使用ARM公司的Cortex-M为核心生产的32位的单片机。 其中&#xff0c;ST---意法半导体公司&#xff0c;即SOC厂商。 M---为Microelectronics的缩写&#xff0c;即微型处理器。 32---表示…

erp系统有哪些品牌?盘点2024年值得关注的十个爆款erp品牌!

本文将盘点主流的erp品牌&#xff0c;为企业选型提供参考&#xff01; ERP系统是企业数字化转型的基石&#xff0c;选择一款适合企业自身需求的ERP系统&#xff0c;不仅能够显著提升企业的运营效率&#xff0c;还能为企业的长期发展奠定坚实的基础。 随着市场竞争的日益激烈&a…

比较:#define,const,typedef

目录 1. #define 2. const 3. typedef #define 用于文本替换&#xff0c;没有类型检查&#xff0c;适用于定义简单的常量或宏。const 是类型安全的编译时常量&#xff0c;适合定义不可变的变量&#xff0c;有范围控制。typedef 用于定义类型的别名&#xff0c;简化代码复杂性…

ubuntu20.04 Qt6引用dcmtk库实现dicom文件读取和字符集转换

1 环境问题 安装完Qt6&#xff0c;新建Qt/QtQuick CMake工程编译出现如下错误: Found package configuration file: Qt6Config.cmake but it set Qt6 FOUND to FALSE so package "Qt6" is considered to be NOT FOUND. 原因&#xff1a; 这是因为系统中缺少OpenG…

IOS Siri和快捷指令打开app

使用场景 需要Siri打开应用或者在自定义快捷指令打开应用&#xff0c;并携带内容进入应用。 1.创建Intents文件 1.1 依次点开File->New->File 1.2 搜索intent关键字找到 SiriKit Intent Definition File文件 1.3 找到刚才创建的Intent文件&#xff0c;点击然后New Inte…

Vue2+JS项目升级为Vue3+TS之jquery的maphilight引入项目(附使用)

本人由于想提升自己的项目开发能力&#xff0c;所以将就项目的vue2JavaScriptwebpack的旧技术栈升级为vue3typescriptvite的技术栈&#xff0c;所以遇到很多坑&#xff0c;以下是maphilight的解决方法。 众所周知jquery是基于JavaScript进行开发&#xff0c;但是已有typescript…

钉钉虚拟位置打卡

我用蓝奏浏览器分享了[base_r_sign], 下载链接:https://wwp.lanzoup.com/i5NK526t7u9e 提取码 : 7wib, 你可以不限速下载哦\n\n通过百度网盘分享的文件&#xff1a;彤彤240724…\n链接:https://pan.baidu.com/s/1x_xhRQDopvQBAg-nWUNf4Q?pwd6666\n提取码:6666 下载好以后先配置…

超全!进销存系统排名前列的厂商有哪些?

本文将为大家盘点10款主流的进销存系统&#xff0c;为企业选型提供参考&#xff01; 进销存系统&#xff08;Inventory Management System&#xff09;&#xff0c;也称为物料管理系统或存货管理系统&#xff0c;是指企业为有效管理和控制进出货物的流动&#xff0c;准确记录库…

css——网格布局

名词解释 div{$}*9tab键&#xff0c;快捷生成 记首字母gtc 网格布局&#xff1a;display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 100px; &#xff08;父元素&#xff09; <!DOCTYPE html> <html lang&q…

虚幻引擎Gameplay探索 Actor 之间的高效通信与交互技巧二

Actor通信介绍 在虚幻引擎中&#xff0c;Actor 是游戏世界中的基本构建块&#xff0c;类似于 Unity 中的 GameObject。Actor 通信是指不同 Actor 之间如何相互交互和传递信息&#xff0c;这在构建复杂的游戏逻辑时至关重要。以下是对 Actor 通信的详细介绍。 Actor通信方法表…