fix: 78318
国标--导入--在产实施日期字段输入多个日期报错
This commit is contained in:
@@ -411,8 +411,8 @@ public class ImportUtil {
|
||||
// 多选时间
|
||||
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
||||
if (!this.multiDateValid(cellValue)) {
|
||||
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
|
||||
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误,多选时间格式为yyyy-MM-dd,yyyy-MM-dd ");
|
||||
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误,多选时间格式为yyyy-MM-dd,yyyy-MM-dd ");
|
||||
}
|
||||
}
|
||||
// 多选标准弹框
|
||||
@@ -525,12 +525,16 @@ public class ImportUtil {
|
||||
}
|
||||
|
||||
private boolean multiDateValid(String cellValue) {
|
||||
String dataPath = "yyyy-MM-dd";
|
||||
String[] dates = cellValue.split(",");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(dataPath);
|
||||
// 设置lenient为false,使得日期解析更为严格
|
||||
sdf.setLenient(false);
|
||||
try {
|
||||
for (String date : dates) {
|
||||
if (date.length() < dataPath.length()) {
|
||||
return false;
|
||||
}
|
||||
// 使用parse方法而不是format方法
|
||||
sdf.parse(date.trim()); // 这里还添加了trim()以去除可能的空白字符
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user