<el-form-item label="开始时间" label-width="80px" prop="beginTimeStr">
<el-date-picker
v-model="taskplan.beginTimeStr"
type="datetime"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始时间"
style="width: 300px"
/>
</el-form-item>
<el-form-item label="结束时间" label-width="80px" prop="endTimeStr">
<el-date-picker
v-model="taskplan.endTimeStr"
type="datetime"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择结束时间"
style="width: 300px"
/>
</el-form-item>
const validateStartTime = (rule, value, callback) => {
if (value === undefined) {
callback(new Error('开始时间不能为空'))
new Date(this.taskplan.beginTimeStr).getTime() >=
new Date(this.taskplan.endTimeStr).getTime()
} else {
if (
new Date(this.taskplan.beginTimeStr).getTime() <= new Date().getTime()
) {
callback(new Error('开始时间不能早于现在!'))
} else if (new Date(this.taskplan.endTimeStr).getTime() <= new Date(this.taskplan.beginTimeStr).getTime()) {
callback(new Error('开始时间必须早于结束时间!'))
} else {
callback()
}
}
}
const validateEndTime = (rule, value, callback) => {
if (value === undefined) {
callback(new Error('结束时间不能为空'))
} else {
if (
new Date(this.taskplan.beginTimeStr).getTime() >=
new Date(this.taskplan.endTimeStr).getTime()
) {
callback(new Error('截止时间必须大于开始时间!'))
} else {
callback()
}
}
}
定义效验规则
rules: {
beginTimeStr: [
{ required: true, validator: validateStartTime, trigger: 'blur' }
],
endTimeStr: [
{ required: true, validator: validateEndTime, trigger: 'blur' }
]
},