feat(utils): 优化validatorEndTime
parent
ac5d882910
commit
0e2cee6840
|
|
@ -345,7 +345,7 @@ export function processTreeDataForOnlyLastLevel(
|
||||||
/**
|
/**
|
||||||
* 验证结束时间是否大于开始时间
|
* 验证结束时间是否大于开始时间
|
||||||
*/
|
*/
|
||||||
export function validatorEndTime(options: { timeStart: string; message?: string; type?: "date" | "datetime" }): {
|
export function validatorEndTime(options: { startTime: string; message?: string; type?: "date" | "datetime" }): {
|
||||||
validator: (_: any, value: any) => Promise<void | string>;
|
validator: (_: any, value: any) => Promise<void | string>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -487,25 +487,25 @@ export function processTreeDataForOnlyLastLevel(options) {
|
||||||
* 验证结束时间是否大于开始时间
|
* 验证结束时间是否大于开始时间
|
||||||
*/
|
*/
|
||||||
export function validatorEndTime(options) {
|
export function validatorEndTime(options) {
|
||||||
let { timeStart, message = "结束时间不能早于开始时间", type = "" } = options;
|
let { startTime, message = "结束时间不能早于开始时间", type = "" } = options;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
validator: (_, value) => {
|
validator: (_, value) => {
|
||||||
if (!value || !timeStart)
|
if (!value || !startTime)
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
|
|
||||||
if (!type) {
|
if (!type) {
|
||||||
const dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
|
const dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
|
||||||
const dateTimeRegex = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;
|
const dateTimeRegex = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;
|
||||||
if (dateOnlyRegex.test(timeStart))
|
if (dateOnlyRegex.test(startTime))
|
||||||
type = "date";
|
type = "date";
|
||||||
else if (dateTimeRegex.test(timeStart))
|
else if (dateTimeRegex.test(startTime))
|
||||||
type = "datetime";
|
type = "datetime";
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectedDate = dayjs.isDayjs(value) ? value : dayjs(value);
|
const selectedDate = dayjs.isDayjs(value) ? value : dayjs(value);
|
||||||
|
|
||||||
if (selectedDate.isBefore(dayjs(timeStart), type === "date" ? "day" : "seconds"))
|
if (selectedDate.isBefore(dayjs(startTime), type === "date" ? "day" : "seconds"))
|
||||||
return Promise.reject(message);
|
return Promise.reject(message);
|
||||||
else
|
else
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue