HTML代码
<el-form-item label="开始时间:" prop="startDate">
<el-date-picker
v-model="formData.startDate"
type="datetime"
placeholder="选择秒杀开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间:" prop="endDate">
<el-date-picker
v-model="formData.endDate"
type="datetime"
placeholder="选择秒杀结束时间">
</el-date-picker>
</el-form-item>
js代码
props: {
formData: { // 提交表单数据
type: Object,
default: {}
},
remoteClose: Function // 用于关闭窗口
},
data() {
const validateStartTime = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入开始时间'))
} else {
if (new Date(this.formData.startDate).getTime() <= new Date().getTime()) {
callback(new Error('开始时间必须大于当前时间!'))
} else {
callback()
}
}
}
const validateEndTime = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入截止时间'))
} else {
if (
new Date(this.formData.startDate).getTime() >=
new Date(this.formData.endDate).getTime()
) {
callback(new Error('截止时间必须大于开始时间!'))
} else {
callback()
}
}
}
return {
// 校验表单
rules: {
startDate: [
{ required: true, message: '请输入秒杀开始时间', trigger: 'blur' },
{
type: 'string',
required: true,
trigger: 'blur',
validator: validateStartTime,
},
],
endDate: [
{
type: 'string',
required: true,
trigger: 'blur',
validator: validateEndTime,
},
]
},
show: false
}
},
有问题欢迎留言讨论。