書籍名よみと社員名よみのバリテーション完了

This commit is contained in:
2026-10-26 15:14:09 +09:00
parent 9c591c9ff2
commit 47947636a1
2 changed files with 148 additions and 124 deletions

View File

@@ -32,8 +32,10 @@ public class BookAdminService {
else if (f.getIsbn().length() > 13) e.add("ISBNは13文字以内で入力してください。"); else if (f.getIsbn().length() > 13) e.add("ISBNは13文字以内で入力してください。");
if (f.getNmBook().isEmpty()) e.add("書籍名を入力してください。"); if (f.getNmBook().isEmpty()) e.add("書籍名を入力してください。");
else if (f.getNmBook().length() > 50) e.add("書籍名は50文字以内で入力してください。"); else if (f.getNmBook().length() > 50) e.add("書籍名は50文字以内で入力してください。");
if (f.getKnBook().length() > 100) e.add("書籍名よみは100文字以内で入力してください。"); if(!f.getKnBook().matches("^[\\u3040-\\u309F]+$")) e.add("書籍名よみはひらがなで入力してください");
else if (f.getKnBook().length() > 100) e.add("書籍名よみは100文字以内で入力してください。");
if (f.getPublisher().length() > 50) e.add("出版社は50文字以内で入力してください。"); if (f.getPublisher().length() > 50) e.add("出版社は50文字以内で入力してください。");
return e; return e;
} }

View File

@@ -74,7 +74,8 @@ public class EmployeeService {
checkMail(f, f.getIdEmployee(), e); checkMail(f, f.getIdEmployee(), e);
checkFlag(f.getFlgAdmin(), "管理者フラグ", e); checkFlag(f.getFlgAdmin(), "管理者フラグ", e);
checkFlag(f.getFlgRetirement(), "退職フラグ", e); checkFlag(f.getFlgRetirement(), "退職フラグ", e);
if (f.getPassword().length() > 256) e.add("パスワードは256文字以内で入力してください。"); if (f.getPassword().length() > 256)
e.add("パスワードは256文字以内で入力してください。");
return e; return e;
} }
@@ -82,30 +83,49 @@ public class EmployeeService {
public List<String> validateUpdateBySelf(EmployeeForm f) { public List<String> validateUpdateBySelf(EmployeeForm f) {
f.trim(); f.trim();
List<String> e = new ArrayList<>(); List<String> e = new ArrayList<>();
if (f.getPassword().isEmpty()) e.add("パスワードを入力してください。"); if (f.getPassword().isEmpty())
else if (f.getPassword().length() > 256) e.add("パスワードは256文字以内で入力してください。"); e.add("パスワードを入力してください。");
else if (f.getPassword().length() > 256)
e.add("パスワードは256文字以内で入力してください。");
return e; return e;
} }
private void checkBasic(EmployeeForm f, List<String> e) { private void checkBasic(EmployeeForm f, List<String> e) {
if (f.getNmEmployee().isEmpty()) e.add("社員名を入力してください。"); if (f.getNmEmployee().isEmpty())
else if (f.getNmEmployee().length() > 50) e.add("社員名は50文字以内で入力してください。"); e.add("社員名を入力してください。");
else if (f.getNmEmployee().length() > 50)
e.add("社員名は50文字以内で入力してください。");
// ※社員名よみの文字種(ひらがなのみ等)は設計で確定する。現状は文字数のみチェック // ※社員名よみの文字種(ひらがなのみ等)は設計で確定する。現状は文字数のみチェック
if (f.getKnEmployee().isEmpty()) e.add("社員名よみを入力してください。"); if (f.getKnEmployee().isEmpty())
else if (f.getKnEmployee().length() > 100) e.add("社員名よみは100文字以内で入力してください。"); e.add("社員名よみを入力してください。");
else if (f.getKnEmployee().length() > 100)
e.add("社員名よみは100文字以内で入力してください。");
else if (!f.getKnEmployee().matches("^[\\u3040-\\u309F]+$"))
e.add("社員名よみはひらがなで入力してください");
} }
private void checkMail(EmployeeForm f, Integer selfId, List<String> e) { private void checkMail(EmployeeForm f, Integer selfId, List<String> e) {
String m = f.getMailAddress(); String m = f.getMailAddress();
if (m.isEmpty()) { e.add("メールアドレスを入力してください。"); return; } if (m.isEmpty()) {
if (m.length() > 256) { e.add("メールアドレスは256文字以内で入力してください。"); return; } e.add("メールアドレスを入力してください。");
if (!MAIL.matcher(m).matches()) { e.add("メールアドレスの形式が正しくありません。"); return; } return;
}
if (m.length() > 256) {
e.add("メールアドレスは256文字以内で入力してください。");
return;
}
if (!MAIL.matcher(m).matches()) {
e.add("メールアドレスの形式が正しくありません。");
return;
}
Optional<Employee> dup = employeeRepository.findByMailAddress(m); Optional<Employee> dup = employeeRepository.findByMailAddress(m);
if (dup.isPresent() && !dup.get().getIdEmployee().equals(selfId)) e.add(MSG_DUP); if (dup.isPresent() && !dup.get().getIdEmployee().equals(selfId))
e.add(MSG_DUP);
} }
private static void checkFlag(String v, String label, List<String> e) { private static void checkFlag(String v, String label, List<String> e) {
if (!"0".equals(v) && !"1".equals(v)) e.add(label + "が正しくありません。"); if (!"0".equals(v) && !"1".equals(v))
e.add(label + "が正しくありません。");
} }
// ---------- 登録・更新 ---------- // ---------- 登録・更新 ----------
@@ -136,7 +156,8 @@ public class EmployeeService {
e.setNmEmployee(f.getNmEmployee()); e.setNmEmployee(f.getNmEmployee());
e.setKnEmployee(f.getKnEmployee()); e.setKnEmployee(f.getKnEmployee());
e.setMailAddress(f.getMailAddress()); e.setMailAddress(f.getMailAddress());
if (!f.getPassword().isEmpty()) e.setPassword(f.getPassword()); if (!f.getPassword().isEmpty())
e.setPassword(f.getPassword());
e.setFlgAdmin(f.getFlgAdmin()); e.setFlgAdmin(f.getFlgAdmin());
e.setFlgRetirement(f.getFlgRetirement()); e.setFlgRetirement(f.getFlgRetirement());
e.setIdUpdate(admin.getIdEmployee()); e.setIdUpdate(admin.getIdEmployee());
@@ -159,6 +180,7 @@ public class EmployeeService {
} }
private static void raise(List<String> errors) { private static void raise(List<String> errors) {
if (!errors.isEmpty()) throw new BusinessException(String.join(" ", errors)); if (!errors.isEmpty())
throw new BusinessException(String.join(" ", errors));
} }
} }