<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="活动时间" required>
<el-form-item prop="dateTime">
<el-time-picker placeholder="选择时间" v-model="ruleForm.dateTime" style="width: 100%;"></el-time-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button @click="resetForm('ruleForm')">重置</el-button>
</el-form-item>
</el-form>
<script>
export default {
data() {
return {
ruleForm: {
dateTime: '',
},
rules: {
dateTime: [
{ type: 'date', required: true, message: '请选择时间', trigger: 'change' }
]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
}
</script>
然后选择日期或者点击“确定”按钮提交validate校验表单都报错:
dataObject.getTime is not a function
原因是:验证里加了 type:‘date’
解决方法:去掉验证里的 type
rules: {
dateTime: [
{ required: true, message: '请选择时间', trigger: 'change' }
]
}