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; // 格式错误返回提示 } } }