elementUI表单验证报错:Error in event handler for “el.form.blur“: “Error: Unknown rule type name“ found in

elementUI是一款非常好用的基于vue脚手架的后端框架,表单验证非常好用。但是,今天我爱模板网在使用它进行日期验证的时候出了问题,报Error in event handler for "el.form.change": "TypeError: value.getTime is not a function"的错误:

在这里插入图片描述


代码如下:

在这里插入图片描述


js验证码的代码:

在这里插入图片描述


从上面的错误可以看出,应该是类型出错。可能是:elementUI自带的格式转换后会将绑定值转为字符串,而校验规则中的【type: 'date'】已经不匹配,至于它的报错是因为转换为字符串,不是date对象所以没有getTime这个方法了。

最终更改后的效果如下:

在这里插入图片描述


但是,在使用下面的有起始选择时间的代码时,改成String,会一直提示错误:
<el-form-item label="服务期限" prop="startEndTime" label-width="120px">
    <el-date-picker v-model="ruleForm.startEndTime" @change="changeStartEndTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>

验证规则:

startEndTime: [
    { type: 'string', required: true, message: '请选择服务期限', trigger: 'change' }
],

错误如图:


在这里插入图片描述


这是因为这种特殊的时间选择框,选择的最终值并非string,而是array,类似于[2020-01-01,2020-02-02]这种,所以匹配string不行,知道了问题,验证规则改为下面的即可:
startEndTime: [
    { type: 'array', required: true, message: '请选择服务期限', trigger: 'change' }
],
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值