29 lines
1013 B
Java
29 lines
1013 B
Java
|
|
package com.ruoyi.cms.util;
|
|||
|
|
|
|||
|
|
import java.time.LocalDate;
|
|||
|
|
import java.time.format.DateTimeFormatter;
|
|||
|
|
import java.time.format.DateTimeParseException;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 日期校验工具类
|
|||
|
|
*/
|
|||
|
|
public class DateValidateUtil {
|
|||
|
|
|
|||
|
|
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|||
|
|
private static final String ERROR_MSG = "生日格式错误!不为空时必须填写 yyyy-MM-dd 完整格式(如 1991-09-01)";
|
|||
|
|
|
|||
|
|
// 改为校验 String 类型
|
|||
|
|
public static String validateBirthDate(String birthDateStr) {
|
|||
|
|
if (birthDateStr == null || birthDateStr.trim().isEmpty()) {
|
|||
|
|
return null; // 为空放行
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
// 严格校验格式:必须是 yyyy-MM-dd,且日期合法(如 1991-02-30 会失败)
|
|||
|
|
LocalDate.parse(birthDateStr.trim(), FORMATTER);
|
|||
|
|
return null; // 校验通过
|
|||
|
|
} catch (DateTimeParseException e) {
|
|||
|
|
return ERROR_MSG; // 格式错误返回提示
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|