备赛蓝桥杯之第十五届职业院校组省赛第四题:多表单校验

news2025/2/8 12:39:37

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议


由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题,在这里只提供部分原题代码

本题目为:2024年十五届省赛职业院校组真题第四题:多表单校验


题目:

需要考生作答的代码段如下:

// TODO:待补充代码
const rules = reactive({

})

题目要求:

完善 `index.html` TODO 部分,实现多表单校验功能。

两个表单校验规则(`rules`)如下:

- 姓名:必填。规则:只能输入汉字。提示:请输入姓名,只能输入汉字。
- 性别:必填。提示:请选择性别。
- 年龄:必填。提示:请输入年龄。
- 是否参加过编程比赛:必填。提示:请选择是否参加过编程比赛。
- 是否有过创业经历:必填。提示:请选择是否有过创业经历。

答案:

                const rules = reactive({
                    name: {
                        required: true,
                        validator: (rule, value, callback) => {
                            if (value === '') {
                                callback('请输入姓名')
                            } else if (/[^\u4e00-\u9fa5]/g.test(value)) {
                                callback('只能输入汉字')
                            } else {
                                callback()
                            }
                        }
                    },
                    sex: {
                        required: true,
                        message: '请选择性别'
                    },
                    age: {
                        required: true,
                        message: '请输入年龄'
                    },
                    isCompetition: {
                        required: true,
                        message: '请选择是否参加过编程比赛'
                    },
                    isEntrepreneurship: {
                        required: true,
                        message: '请选择是否有过创业经历'
                    }
                })

拓展学习

本题作者想说

目标

    制定规则,使其对表单进行校验

思路

观察代码

    观察题目,题目中给出了具体要求的表单校验规则,还有具体的配置说明

    因此我们知道通过我们自己对参数进行自定义的配置,就可以实现表单的校验

    我们现在要做的就是了解配置参数

    required为“是否必填”,类型为布尔类型,表明通过控制布尔值来控制是否必填

    message为“提示信息”,类型为字符串类型,表明通过控制字符串来控制提示信息

    trigger为“触发方式”,类型为字符串类型,表明通过控制字符串来控制触发方式

    validator为“自定义校验规则”,类型为函数类型,表明通过控制函数来控制自定义校验规则

    两个表单校验规则(`rules`)如下:

    - 姓名:必填。规则:只能输入汉字。提示:请输入姓名,只能输入汉字。

    - 性别:必填。提示:请选择性别。

    - 年龄:必填。提示:请输入年龄。

    - 是否参加过编程比赛:必填。提示:请选择是否参加过编程比赛。

    - 是否有过创业经历:必填。提示:请选择是否有过创业经历。

    **rules 校验规则配置项说明**

    | 参数        | 说明               | 类型            |

    | ----------- | ------------------ | --------------- |

    | `required`  | 是否必填           | `boolean`       |

    | `message`   | 提示文案           | `string`        |

    | `trigger`   | 验证逻辑的触发方式 | `blur`/`change` |

    | `validator` | 自定义校验规则     | `boolean`       |

    之后我们在观察代码,在HTML中,通过“prop="?"”来绑定数据

    我们要做的就是将这个绑定数据进行规则限制

    题目中要求“姓名”,“性别”,“年龄”,“是否参加过编程比赛”,“是否有过创业经历”五个表单需要自定义校验规则

    通过找到prop,有prop="name",prop="sex",prop="age",prop="isCompetition",prop="isEntrepreneurship"五个对应的值

    后续js代码段中有const rules = reactive({})定义了一个规则空对象

    我们要做的就是将这个空对象进行赋值

分析逻辑

    对空对象进行规则赋值,就是将prop的值一一与题目中所要求的值进行对应规定

    例如,定义姓名时,要求必填。在定义时,将参数required定义为true

    要求,规则:只能输入汉字。提示:请输入姓名,只能输入汉字。在定义时需要使用validator以传参的方式再结合if判断语句进行定义

    同理,性别,年龄,是否参加过编程比赛,是否有过创业经历,也需要进行同样的操作

设计代码
    const rules = reactive({

        name: {

            required: true,

            validator: (rule, value, callback) => {

                if (value === '') {

                    callback('请输入姓名')

                } else if (/[^\u4e00-\u9fa5]/g.test(value)) {

                    callback('只能输入汉字')

                } else {

                    callback()

                }

            }

        },

        sex: {

            required: true,

            message: '请选择性别'

        },

        age: {

            required: true,

            message: '请输入年龄'

        },

        isCompetition: {

            required: true,

            message: '请选择是否参加过编程比赛'

        },

        isEntrepreneurship: {

            required: true,

            message: '请选择是否有过创业经历'

        }

    })

注意

    本题的本质就是对prop绑定值进行规则限制,需要我们自己去进行定义规则

    还有就是题目中给出属性与规则,一一对应即可,特殊规则需要使用正则表达式与传参与回调函数等方法连用


感谢观看此篇文章,谢谢大家的支持,本片文章只是我自己学习的历程,有些写的不好地方欢迎大家交流改动。

长路漫漫,我们还需努力!

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

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

相关文章

完全离线部署deepseek并建立本地知识库应用电子数据取证领域

点击上方蓝字“小谢取证”一起玩耍 之前小谢推出一篇部署本地大模型教程,但需要网络环境 AI机器人本地免费部署(部署Llama 3.1详细教程) 还是比较受到读者的欢迎,但应读者要求:需要这个模型能够训练,能够…

ctf网络安全题库 ctf网络安全大赛答案

此题解仅为部分题解,包括: 【RE】:①Reverse_Checkin ②SimplePE ③EzGame 【Web】①f12 ②ezrunner 【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝 【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手 一、 Re ① Reverse Chec…

SolidWorks教程P2.2【草图 | 第二节】——草图几何关系与编辑

草图几何关系包括:重合、中点、相切、平行、相等、共线、对称 草图编辑功能包括:裁剪实体、转换实体引用、等距实体 目录 1.草图几何关系 2.裁剪实体 3.转换实体引用 4.等距实体 补充知识:智能尺寸 1.草图几何关系 在之前的草图介绍里…

数据库系统概念第六版记录 三

外码约束(Foreign Key Constraint) 外码(Foreign Key, FK)是关系数据库中的一个约束,它用于保证表之间的引用完整性。外码的值必须: 要么存在于被引用表的主键列中,要么为空(NULL&…

MySQL视图索引操作

创建学生表; mysql> create table Student(-> Sno int primary key auto_increment,-> Sname varchar(30) not null unique,-> Ssex char(2) check (Ssex男 or Ssex女) not null,-> Sage int not null,-> Sdept varchar(10) default 计算机 not …

HIVE如何注册UDF函数

如果注册UDF函数的时候报了上面的错误,说明hdfs上传的路径不正确, 一定要用下面的命令 hadoop fs -put /tmp/hive/111.jar /user/hive/warehouse 一定要上传到上面路径,这样在创建函数时,引用下面的地址就可以创建成功

硬件电路基础

目录 1. 电学基础 1.1 原子 1.2 电压 1.3 电流 1.电流方向: 正极->负极,正电荷定向移动方向为电流方向,与电子定向移动方向相反。 2.电荷(这里表示负电荷)运动方向: 与电流方向相反 1.4 测电压的时候 2. 地线…

蓝耘智算平台使用DeepSeek教程

目录 一.平台架构与技术特点 二、DeepSeek R1模型介绍与优势 DeepSeek R1 模型简介 DeepSeek R1 模型优势 三.蓝耘智算平台使用DeepSeek教程 展望未来 耘元生代智算云是蓝耘科技推出的一款智算云平台有着以下特点: 一.平台架构与技术特点 基于 Kubernetes 原…

脚本一键生成管理下游k8s集群的kubeconfig

一、场景 1.1 需要管理下游k8s集群的场景。 1.2 不希望使用默认的cluster-admin权限的config. 二、脚本 **重点参数: 2.1 配置变量。 1、有单独namespace的权限和集群只读权限。 2、自签名的CA证书位置要正确。 2.2 如果配置错误,需要重新…

发布:大彩科技DN系列2.8寸高性价比串口屏发布!

一、产品介绍 该产品是一款2.8寸的工业组态串口屏,采用2.8寸液晶屏,分辨率为240*320,支持电阻触摸、电容触摸、无触摸。可播放动画,带蜂鸣器,默认为RS232通讯电平,用户短接屏幕PCB上J5短接点即可切换为TTL电…

简述mysql 主从复制原理及其工作过程,配置一主两从并验证

MySQL 主从复制原理及其工作过程 MySQL 主从复制(Master-Slave Replication)是一种数据同步技术,其中一个 MySQL 实例(主库)将其数据变更(插入、更新、删除)通过二进制日志(Binary …

华北平原shp格式范围

华北平原是中国东部的重要地理区域,以下是对其的简要介绍: 此数据为付费数据,如有需求,请联系本人。 1. 地理位置与范围 位置:位于中国东部,西起太行山脉和伏牛山,东至黄海、渤海,北…

Unity 快速入门 1 - 界面操作

本项目将快速介绍 Unity 6的基本操作和功能,下载附件的项目,解压到硬盘,例如 D:\Unity Projects\, 注意整个文件路径中只有英文、空格或数字,不要有中文或其他特殊符合。 1. 打开Unity Hub,点击右上角的 O…

网站改HTTPS方法

默认的网站建设好后打开的样子那看起来像是钓鱼网站,现在的浏览器特别只能,就是你新买来的电脑默认的浏览器同样也会出现这样“不安全”提示。 传输协议启动了向全球用户安全传输网页内容的流程。然而,随着HTTPS的推出,传输协议通…

采用idea中的HTTP Client插件测试

1.安装插件 采用idea中的HTTP Client插件进行接口测试,好处是不用打开post/swagger等多个软件,并且可以保存测试时的参数,方便后续继续使用. 高版本(2020版本以上)的idea一般都自带这个插件,如果没有也可以单独安装. 2.使用 插件安装完成(或者如果idea自带插件),会在每个Con…

记录 | WPF基础学习Style局部和全局调用

目录 前言一、Style1.1 例子1.2 为样式起名字1.3 BasedOn 继承上一个样式 二、外部StyleStep1 创建资源字典BaseButtonStyle.xamlStep2 在资源字典中写入StyleStep3 App.xaml中写引用路径【全局】Step4 调用三、代码提供四、x:Key和x:Name区别 更新时间 前言 参考文章&#xff…

【STM32】HAL库USB虚拟U盘MSC配置及采用自带的Flash作为文件系统

【STM32】HAL库USB虚拟U盘MSC实现配置及采用自带的Flash作为文件系统 本文将自带的Flash作为文件系统 通过配置USB的MSC功能实现虚拟U盘 没有单独建立FATFS文件系统 仅仅是配置USB和Flash读写而已 当然 这里也可以用外部Flash等等 也可以配置文件系统来进行套壳 但总体而言不如…

深浅拷贝~

深浅拷贝:直接赋值给的是地址,如果修改赋值后的变量,实际上连同原变量的值一并修改了。 浅拷贝 展开运算符 {...obj} 拷贝对象 Object.assign(新,旧) 深拷贝 递归:自己调用自己 以下实际是浅拷贝 递归调用处理数组问题…

开源项目介绍-词云生成

开源词云项目是一个利用开源技术生成和展示词云的工具或框架,广泛应用于文本分析、数据可视化等领域。以下是几个与开源词云相关的项目及其特点: Stylecloud Stylecloud 是一个由 Maximilianinir 创建和维护的开源项目,旨在通过扩展 wordclou…

Zookeeper是如何解决脑裂问题的?

大家好,我是锋哥。今天分享关于【Zookeeper是如何解决脑裂问题的?】面试题。希望对大家有帮助; Zookeeper是如何解决脑裂问题的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper 通过多种机制来解决脑裂&…