feat(utils): 优化validatorEndTime和validatorTimeGTCurrentDay,新增validatorTimeGECurrentDay
parent
392631f9e6
commit
85cb7bf0de
|
|
@ -350,12 +350,19 @@ export function validatorEndTime(options: { startTime: string; message?: string;
|
|||
};
|
||||
|
||||
/**
|
||||
* 验证时间是否大于等于当前时间
|
||||
* 验证时间是否大于当前时间
|
||||
*/
|
||||
export function validatorTimeGTCurrentDay(options?: { message?: string; type?: "date" | "datetime" }): {
|
||||
validator: (_: any, value: any) => Promise<void | string>;
|
||||
};
|
||||
|
||||
/**
|
||||
* 验证时间是否大于等于当前时间
|
||||
*/
|
||||
export function validatorTimeGECurrentDay(options?: { message?: string; type?: "date" | "datetime" }): {
|
||||
validator: (_: any, value: any) => Promise<void | string>;
|
||||
};
|
||||
|
||||
/**
|
||||
* 动态加载js资源
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -487,7 +487,7 @@ export function processTreeDataForOnlyLastLevel(options) {
|
|||
* 验证结束时间是否大于开始时间
|
||||
*/
|
||||
export function validatorEndTime(options) {
|
||||
let { startTime, message = "结束时间不能早于开始时间", type = "" } = options;
|
||||
let { startTime, message = "结束时间不能早于开始时间", type = "" } = options || {};
|
||||
|
||||
return {
|
||||
validator: (_, value) => {
|
||||
|
|
@ -514,17 +514,45 @@ export function validatorEndTime(options) {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证时间是否大于等于当前时间
|
||||
* 验证时间是否大于当前时间
|
||||
*/
|
||||
export function validatorTimeGTCurrentDay(options) {
|
||||
const { message = "需要大于当前时间", type = "date" } = options;
|
||||
const { message = "需要大于当前时间", type = "date" } = options || {};
|
||||
return {
|
||||
validator: (_, value) => {
|
||||
if (!value)
|
||||
return Promise.resolve();
|
||||
|
||||
const selectedDate = dayjs.isDayjs(value) ? value : dayjs(value);
|
||||
if (selectedDate.isBefore(dayjs(), type === "date" ? "day" : "seconds"))
|
||||
const now = dayjs();
|
||||
const isAfter = type === "date"
|
||||
? selectedDate.isAfter(now, "day")
|
||||
: selectedDate.isAfter(now, "seconds");
|
||||
|
||||
if (!isAfter)
|
||||
return Promise.reject(message);
|
||||
else
|
||||
return Promise.resolve();
|
||||
},
|
||||
};
|
||||
}
|
||||
/**
|
||||
* 验证时间是否大于等于当前时间
|
||||
*/
|
||||
export function validatorTimeGECurrentDay(options) {
|
||||
const { message = "需要大于等于当前时间", type = "date" } = options || {};
|
||||
return {
|
||||
validator: (_, value) => {
|
||||
if (!value)
|
||||
return Promise.resolve();
|
||||
|
||||
const selectedDate = dayjs.isDayjs(value) ? value : dayjs(value);
|
||||
const now = dayjs();
|
||||
const isBefore = type === "date"
|
||||
? selectedDate.isBefore(now, "day")
|
||||
: selectedDate.isBefore(now, "seconds");
|
||||
|
||||
if (isBefore)
|
||||
return Promise.reject(message);
|
||||
else
|
||||
return Promise.resolve();
|
||||
|
|
|
|||
Loading…
Reference in New Issue