马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
先说说复现方式
本来input是只能输入数字的,然后你不鉴戒输入了汉字,触发校验了,然后这时候,你发现校验取消不掉了
就如许了
咋办啊,你一看校验没错啊,各种number啥的也写了,发现没问题啊- <el-input
- v-number-input
- v-model.number="specification.goodsNum"
- placeholder="对应商品数量"
- maxlength="5"
- ></el-input>
- goodsNum: [
- {
- required: true,
- message: "对应商品数量必填,限输入5个字符",
- trigger: "blur",
- },
- ],
复制代码 然后就绞尽脑汁想,哪出问题了呢,又是想失焦之后去掉校验,又是啥啥的,都不好使
你猜怎么着
用最原始的方法- <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",
- },
- ],
复制代码 对,就如许写,嘎嘎好使,再也不报错了
|