当前位置: 首页 > news >正文

VUE3+elementPlus 之 Form表单校验器 之 字符长度校验

需求:校验字符长度,超过后仍可输入,error提示录入字符数与限制字符数

校验字符长度:

/*** 检验文字输入区的长度* @param {*} rule                输入框的rule 对象,field:字段名称* @param {*} value               输入框的内容* @param {*} callback            回调函数* @param {*} textLengthRules     文本长度校验规则对象, key:字段名称,value:字段允许最大长度* @returns*/
export function validTextField(rule: any, value: any, callback: any, textLengthRules: any) {if (!value) {callback();return;}const field = rule.field;const arr = field.split(".");// 表单列表内容校验if (arr.length > 0) {const len = textLengthRules[arr[0]][arr[arr.length - 1]];if (value.length > len) {callback(new Error(`${value.length}/${len} 内容输入超出范围`));return;}}// 支持字段校验if (textLengthRules?.[field] && value.length > textLengthRules[field]) {callback(new Error(`${value.length}/${textLengthRules[field]} 内容输入超出范围`));return;}callback();
}

组件内使用:

const textLengthRules = {num: 15
};
const validTextLength = (rule: any, value: any, callback: any) => {validTextField(rule, value, callback, textLengthRules);
};
rules: {num: [{ validator: validTextLength }],
}

页面效果:
在这里插入图片描述

http://www.lryc.cn/news/292338.html

相关文章:

  • 【Mysql】数据库架构学习合集
  • 轻型民用无人机驾驶航空器安全操控——理论考试多旋翼部分笔记
  • UE4学习笔记 FPS游戏制作3 添加武器
  • 详解 Prim 算法的实现
  • Android 使用高德地图
  • 从redis setnx 来看看分布式锁
  • 校园网网络规划与设计——计算机网络实践报告
  • Qt QScrollArea 不显示滚动条 不滚动
  • 【SVN在Linux下的常用指令】
  • 2024 高级前端面试题之 Node 「精选篇」
  • linux麒麟系统安装mongodb7.0
  • Spring声明式事务
  • PyTorch深度学习实战(34)——Pix2Pix详解与实现
  • 第96讲:MySQL高可用集群MHA的核心概念以及集群搭建
  • 外星人入侵(python)
  • Unity中开发程序打包发布
  • 2024.2.1日总结
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • STM32目录结构
  • 算法专题:记忆搜索
  • 【数据分享】1929-2023年全球站点的逐日最低气温数据(Shp\Excel\免费获取)
  • 2024美赛数学建模D题思路+模型+代码+论文(持续更新)
  • dubbo+sentinel最简集成实例
  • 9.2爬楼梯(LC70-E)
  • Asp.net移除Server, X-Powered-By, 和X-AspNet-Version头
  • reactnative 调用原生ui组件
  • 面试手写第五期
  • 【CSS】css选择器和css获取第n个元素(:nth-of-type(n)、:nth-child(n)、first-child和last-child)
  • 解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)
  • qt中遇到[Makfile.Debug:119:debug/app.res.o] Error 1的原因以及解决方法