使用el-input数字校验,输入汉字之后校验取消不掉

先说说复现方式

本来input是只能输入数字的,然后你不小心输入了汉字,触发校验了,然后这时候,你发现校验取消不掉了

就这样了

咋办啊,你一看校验没错啊,各种number啥的也写了,发现没问题啊

javascript 复制代码
<el-input
  v-number-input
  v-model.number="specification.goodsNum"
  placeholder="对应商品数量"
  maxlength="5"
 ></el-input>

goodsNum: [
 {
    required: true,
    message: "对应商品数量必填,限输入5个字符",
    trigger: "blur",
  },
],

然后就绞尽脑汁想,哪出问题了呢,又是想失焦之后去掉校验,又是啥啥的,都不好使

你猜怎么着

用最原始的方法

javascript 复制代码
<el-input
  v-model="specification.goodsNum"
  placeholder="对应商品数量"
  maxlength="5"
 ></el-input>

const validateNumber = (rule, value, callback) => {
if (!/^\d*\.?\d{0,2}$/.test(value)) {
    callback(new Error("请输入数字,最多2位小数"));
  } else {
    callback();
  }
};

goodsNum: [
{ validator: validateNumber, trigger: "blur" },
  {
    required: true,
    message: "对应商品数量必填,限输入5个字符",
    trigger: "blur",
  },
],

对,就这样写,嘎嘎好使,再也不报错了

相关推荐
Cachel wood11 小时前
hands-on-modern-rl:动手学强化学习策略梯度reinforce
开发语言·python
qizayaoshuap11 小时前
鸿蒙 ArkTS 实战:搜索列表 城市实时过滤(示例 94)
android·华为·harmonyos
蓝斯49711 小时前
一碰即传,重构跨设备文件分享体验
开发语言·python·重构
宁风NF11 小时前
JavaScript:内存、垃圾回收、性能优化
开发语言·前端·javascript·学习·性能优化·es6
朝星11 小时前
Framework筑基之Handler消息机制5(应用层)
android
2601_9657984712 小时前
ForumLab Review: Fast PHP Script for SEO Forum Sites
android·adb·php
ShuiShenHuoLe12 小时前
Go html/template 使用入门
开发语言·golang·html
geovindu12 小时前
java: Gale-Shapley Algorithm
java·开发语言·后端·算法
LUCKY-LIVING12 小时前
ELF File in linux
android·java·linux