elementUI是一款非常好用的基于vue脚手架的后端框架,表单验证非常好用。但是,今天我爱模板网在使用它进行日期验证的时候出了问题,报Error in event handler for "el.form.change": "TypeError: value.getTime is not a function"的错误:
代码如下:
js验证码的代码:
从上面的错误可以看出,应该是类型出错。可能是:elementUI自带的格式转换后会将绑定值转为字符串,而校验规则中的【type: 'date'】已经不匹配,至于它的报错是因为转换为字符串,不是date对象所以没有getTime这个方法了。
最终更改后的效果如下:
但是,在使用下面的有起始选择时间的代码时,改成String,会一直提示错误:
1 | < el-form-item label = "服务期限" prop = "startEndTime" label-width = "120px" > |
2 | < el-date-picker v-model = "ruleForm.startEndTime" @ change = "changeStartEndTime" type = "daterange" range-separator = "至" start-placeholder = "开始日期" end-placeholder = "结束日期" ></ el-date-picker > |
验证规则:
2 | { type: 'string' , required: true , message: '请选择服务期限' , trigger: 'change' } |
错误如图:
这是因为这种特殊的时间选择框,选择的最终值并非string,而是array,类似于[2020-01-01,2020-02-02]这种,所以匹配string不行,知道了问题,验证规则改为下面的即可:
2 | { type: 'array' , required: true , message: '请选择服务期限' , trigger: 'change' } |
部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!