element必填校验 输入空格问题,修改正则表达式、请求拦截器,实现所有输入框去除首尾空格

element-ui form 表单验证--输入空格问题 <el-form :rules="rules"> <el-form-item label="名称" prop="name"> <el-input size="small" v-model.trim="form.name" placeholder="请输入名称"></el-input> </el-form-item> </el-form> v-model.lazy 只有在input输入框发生blur事件时才触发 v-. 阅读详情
AI摘要

没有检索到摘要

一、element-ui,必填校验输入空格是可以通过校验的?

在这里插入图片描述
我们可以看一下elemen-ui的源码,
在这里插入图片描述

我们可以看到其实element-ui对应el-form-item关于必填校验的部分是采用了rules,rules.length去进行的校验 我们需要知道的是其实空格也同样算是一个字符。同样的空格那么肯定是会通过校验的,那么我们如何去实现不让其首尾输入空格呢?

二、解决方案?v-model.trim修饰符?

当然我们第一个想法想到的肯定是trim这个修饰符,首先我们可以看一下官网
在这里插入图片描述
我们可以试一试,当input新增了trim后会出现怎样的效果?
在这里插入图片描述
如果采用trim修饰符的话,确实可以实现功能,但是这个时候首尾都不能输入空格就会导致一个问题,当我们从左到右输入文字的时候
例如

1111   2222

我如果想写完1111立刻再输入几个空格再输入2222,这个时候如果我们采用的是trim便会遇到不能输入的问题,我们只能11112222输入完成之后再去讲鼠标光标放置在11112222中间部分输入空格,这样肯定是不利于我们输入的。

三、采用pattern,手写正则的方式实现功能功能。

我们只需要在我们对应的rules数组对象校验中新增这样一个正则写法即可。

pattern: ‘[^ \x20]+’

完整写法

loginRules: {
        username: [{ required: true, pattern: '[^ \x20]+', trigger: 'blur', message: '用户名不能为空' }],
        password: [{ required: true, pattern: '[^ \x20]+', trigger: 'blur', message: '密码不能为空' }],
        code: [{ required: true, pattern: '[^ \x20]+', trigger: 'change', message: '验证码不能为空' }],
      },

四、请求拦截器过滤所有的请求参数,对应的参数首尾空格全部去掉。

当然上方的功能保证的其实也只是校验项 在开头部分输入空格会触发校验,但是我们在末尾输入空格的时候,对应的校验则不会再触发,这个时候我们则需要在进行搭配,写一个请求递归,实现所有请求参数的首尾去空格。

编写递归函数放置到我们请求拦截器当中

/**
 * @description: 2021-05-14 请求参数首尾去空格
 * @param {*} data
 * @return {*}
 */
function isTrim(data) {
  // 首先需要判断当前的config中是否存在data值
  if (data && data instanceof Object) {
    for (const key in data) {
      if (Object.hasOwnProperty.call(data, key)) {
        // 此处我们不要使用   let element = data[key] 注意  如果采用这种方式的话对应trim改变的值和data[key]将不再会是一个同一个内存地址
        // 在需要判断一下当前数据是否是数组
        if (Array.isArray(data[key])) {
          // 就将数组放进去
          data[key] = isTrim(data[key])
        } else if (data[key] && data[key] instanceof Object) {
          // 如果对象里面套对象的话
          data[key] = isTrim(data[key])
        } else if (data[key] && Object.prototype.toString.call(data[key]) == '[object String]') {
          // 如果对象里面的数据是String的话那么就直接trim只对String进行操作
          data[key] = data[key].trim()
        }
      }
    }
    return data
  } else if (data && Object.prototype.toString.call(data) == '[object String]') {
    // 如果是字符串说明是JSON.parse需要转换
    let dataObj = JSON.parse(data)
    // 转成对象之后在抛出去
    dataObj = isTrim(dataObj)
    return JSON.stringify(dataObj)
  } else if (data && data instanceof Array) {
    // 如果是数组  那就forin一下  判断里面的数据类型
    for (const key in data) {
      if (Object.hasOwnProperty.call(data, key)) {
        if ((data && data instanceof Object) || (data && data instanceof Array)) {
          data[key] = isTrim(data[key])
        }
      }
    }
    return data
  }
}

在这边我是用的是axios来实现ajax请求,找到我们的请求拦截器处:
在这里插入图片描述
递归完成后得到的便是字符串去除首尾空格的效果。
在这里插入图片描述

禁止在前端的Element UI表单输入框中输入空格 在前端开发中,Element UI是一个非常流行的Vue.js组件库,它提供了丰富的UI组件来简化界面开发。在某些情况下,我们可能需要限制用户在输入框中输入空格,以确保数据的准确性和一致性。需要注意的是,上述代码只是一个简单的示例,仅仅演示了如何禁止输入空格。在实际的项目中,你可能需要处理更多的情况,例如复制粘贴、拖拽等操作,来确保输入框中不会包含空格。事件处理程序中,我们检查按下的按键的键码是否为32(空格键的键码),如果是,我们调用。通过这种方式,用户将无法在Element UI的输入框中输入空格。 阅读详情

相关推荐

Element-UI 实现动态增加多个输入框并校验

在做复杂的动态表单,实现业务动态变动,比如有一条需要动态添加的el-form-item中包含了多个输入框,并实现表单验证,但在element-ui组件库中给出的表单校验中没有这样的格式,想要实现这个功能就来跟我一起学习吧。

一碗清深的博客 6896

vue的ElementUI form表单给label属性字符串中添加空白占位符

在用ElementUI form表单时 需要表单里的左侧的label显示的字体上下对齐,需要在字体中间加空白占位符,在尝试使用&nbsp之后,还是不能使用,vue会将&nbsp直接打印出来,并不能转换成空白占位符: 显示的结果: 渲染失效,vue官方使用v-html转html,但是label是在组件里,不能这样用。只好另想办法,记得搜狗输入法有特殊字符,在特殊符号中输入“空”,......

pon的博客 1万+

大厂Python自动化测试面试题合集

题目:函数的作用是什么?调用函数的语法?答案:将独立功能代码封装成模块,复用代码;函数名(实参)。题目:函数 return 作用是什么?无 return 时函数返回什么?多返回值底层是什么类型?答案:返回函数执行结果;无 return 默认返回 None;return x,y,z 底层自动封装为元组。题目:函数四大参数类型分别是什么?定义顺序要求?答案:必选参数、默认参数、可变位置 * args、命名关键字、可变关键字 **kwargs;顺序:必选→默认→*args→命名关键字→**kwargs。

悦分享 104

element-ui的form表单的lable中间添加空格使其对齐

解决方法:复制后面方框中的空字符【 】

weixin_45618937的博客 1191

数字经济新质生产力数字化转型数据要素流通交易解决方案:数据要素化演进路径与管理、公共数据授权运营平台体系、数据底座、典型应用场景

数字经济的发展依赖于数据要素的有效流通与交易,数字化转型的核心在于数据的全生命周期管理和价值释放。数据要素化通过数据资源化、资产化和资本化的“三化”过程,实现其经济与社会价值。数据管理涵盖采集、存储、加工、分析等环节,支持数据的度量与交换。公共数据、企业数据和个人数据通过场内、场外及二级市场交易实现资本化。公共数据开发利用面临隐私泄露、监督管理难等痛点,目标是构建授权运营平台体系,确保数据流通的安全与效率。平台体系包括统一门户、授权管理、运营管理、合规监督等核心功能,支持明文、密文和可信交换流通方式。数据底

weixin_44094929的博客 1003

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2094

elementui的输入框设置为必填的代码

使用 element-ui 的输入框,可以在绑定的 v-model 中使用 required 来设置输入框为必填。 示例代码如下: <template> <el-input v-model="value" placeholder="请输入" required></el-input> </template> <script> expo...

weixin_35756130的博客 4304

MacOS上VScode配置PlatformIO Core的疑难杂症与提速实战

本文详细解析了在MacOS上使用VScode配置PlatformIO Core时遇到的安装卡死、新建项目缓慢等常见问题,并提供了官方脚本安装、网络优化、命令行预下载等实用解决方案。通过环境变量配置和镜像源加速,大幅提升开发效率,特别适合ESP32等嵌入式开发场景。

weixin_42567046的博客 220

element-ui的form表单的 lable添加空格并对齐

element-ui的form表单的 lable添加空格并对齐。

我认不到你的博客 3635

【小白深度教程 1.32】手把手教你从多视角图像进行 3D 重建(SfM 算法)

重建的目标是从一组照片中推导场景的几何结构,假设摄像机位置和内部参数是已知的或可以从图像集中猜测。 这是通过使用多个照片,在其中应用运动结构法(Structure from Motion,SfM)来解决像素级对应问题,部分地恢复3D信息来实现的。

2401_87064292的博客 2160

RK3588 , 基于mpp 解码 Jpeg To RGB

本文介绍了在RK3588开发板上使用Rockchip MPP(Media Process Platform)硬件加速接口将JPEG图像解码为RGB格式的完整流程。主要包括三个关键步骤:1) 读取JPEG文件数据;2) 配置MPP解码器,包括初始化上下文、设置RGB888输出格式和解码参数;3) 执行解码任务并将结果保存为图像文件。通过硬件加速,该方法能高效完成JPEG到RGB的转换,适用于嵌入式多媒体处理场景。

J。 1211

ElTable实现空单元格自动填充占位符

ElTable实现空单元格自动填充占位符‘–’ 根据前端开发规范及UE建议,考虑给表单的空单元格插入占位符‘–’,一开始的想法很简单,在el-table-column中渲染时对传入的data进行判断即可,相关代码如下: <el-table-column label="按键" width="100px"> <span class="c-one-line did-desc-t...

CSU_Zipple的博客 8503

OpenClaw 超级 AI 实战专栏【模型推理与实战】(二)官方预训练模型下载与使用

OpenClaw 预训练模型需按「固定目录结构」存放(模型文件夹包含权重 + 配置文件),否则会加载失败;核心流程:下载模型→验证文件完整性→加载模型→传入图片执行推理→可视化结果;常见问题集中在「路径错误」「显存不足」「文件缺失」,按文中方案可快速解决。

qq_36130719的博客 307

vue+ elementUI 让label增加空格的办法

label增加空格

weixin_44363139的博客 2842

自动权重化图卷积网络(Auto-Weighted GCN)算法在反洗钱识别中的应用及代码实现

该算法通过自动学习节点之间的权重信息,能够更好地捕捉AML数据中的关系和结构,从而提高反洗钱识别的准确性和效果。传统的AML识别方法通常依赖于专家定义的规则和手动提取的特征,但这些方法在应对大规模和复杂的数据时存在一定的局限性。GCN通过在图上执行卷积操作来捕捉节点之间的关系和结构信息,从而实现对图数据的学习和表示。自动权重化图卷积网络是一种基于GCN的改进算法,能够自动学习节点之间的权重信息,从而更好地捕捉图中的关系。利用自动计算的权重值执行图卷积操作。根据节点之间的相似度,计算每个节点的权重。

syntax_api860的博客 376

Cursor使用教程:用 Cursor 创建第一个 Java 项目

Cursor是一款基于VS Code的AI编程编辑器,专为开发者设计。安装前需确保JDK 8+、Maven 3.8+等环境配置,支持Windows系统。编辑器提供中文界面选项,可通过扩展市场安装语言包。创建Java项目支持手动和AI提示词两种方式:手动需创建目录结构并编写代码;AI方式则通过自然语言描述快速生成项目框架和代码。标准Java项目包含src/main/java主代码目录、src/test/java测试目录及pom.xml等配置文件。Maven项目中,pom.xml是核心配置文件,管理项目依赖与构

博客 3547

正则校验字符串中是否存在空格

const reg = new RegExp(/\s/) reg.test('1 23')

qq_43765727的博客 9742

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

vue element UI 处理输入框必填修改样式逻辑

vue必填处理思路

young_sam的博客 646

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

2020-11-19

print函数用法小技巧: 1,可以通过关键字参数seq自定义想要的分隔符以分隔字符串;下面看例子: 输入print(1, 2, 3 , sep=’:’)(用冒号分隔),输出为1:2:3。 当然sep也可以是一个空串,如sep=’’,这样可以使得这些参数相连。 如print(1, 2, 3 , sep=’’), 输出为123. 2,第二个技巧可以使用关键字参数end可以指定一个可选择的结尾字符串。如指定一个空字符串end=’’,这样结束后不输出任何字符。 ...

weixin_46235790的博客 342

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

正则校验空格_JavaScript的正则

正则表达式(用于校验有规则的字符串)方式一使用newvar reg=new RegExp(box,gi)(i忽略大小写,g匹配)方式二字面量var box = /box/; 正则的方法(两个).test 返回true和fasle.exec 返回null和数组支持正则的字符串方法(四个).match (返回null和数组).search (返回下标和-1).replace .split各种符号...

weixin_39705850的博客 2204

el-input设置必填提示(单个&多个)

el-input设置必填

song_song0927的博客 2万+

关于element UI 中输入框禁止输入空格的实现

<el-input class="nameInput" maxlength="20" v-model.trim="form.teamName" placeholder="请输入团队名称"></el-input>

weixin_43365444的博客 4866

JavaScript正则校验空格

1.校验开头不能有空格: jQuery.validator.addMethod("firstNotHasBlank", function(value, element) { var fBlank =/^\S+/; return this.optional(element) || (fBlank.test(value)); }, "开头不能有空格"); 2.校验结尾不能有空格: jQuery.validator.addMethod("lastNotHasBlank", function(va...

u010227042的博客 8161

element ui 空格_空格是您的UI朋友。 大量使用它。

element ui 空格Originally published at marcandrew.me on July 30th, 2020. 最初于 2020 年7月30日 在 marcandrew.me 上 发布 。 Ah good old White Space. One of the simplest things to add to your designs to improve bot...

weixin_26732881的博客 1120

element-ui的Form表单设置自定义校验规则。input输入框设置必填。input框前红色*号的设置。

在组件中填写方法中需要的属性(ref,prop,:ruls)首先,从element-ui中找到你需要的组件。在methods方法中加入。

qq_56715703的博客 2565

element-ui form 验证表单输入空格问题

element-ui中自带的表单必填项校验不能去除空格,此时若输入空格,required: true验证还是可以通过。若想正确校验需要去除字符两边的空格。在v-model加上.trim就可以解决。 <el-form :rules="rules"> <el-form-item label="名称" prop="name"> <el-input size=...

qq_36437172的博客 9175
上一篇: display设置显示隐藏,transition过渡不起效果,采用opacity+visibility+dispaly解决问题
下一篇: vue如何在style标签中使用data响应式数据?
归来巨星
归来巨星 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 5391粉丝 95原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归来巨星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值