バリテーション追加

This commit is contained in:
2026-10-27 14:25:06 +09:00
parent 309b2a2b79
commit adf3ece0d2
2 changed files with 73 additions and 66 deletions

View File

@@ -28,12 +28,20 @@ public class BookAdminService {
public List<String> validate(BookForm f) { public List<String> validate(BookForm f) {
f.trim(); f.trim();
List<String> e = new ArrayList<>(); List<String> e = new ArrayList<>();
if (f.getIsbn().isEmpty()) e.add("ISBNを入力してください。"); if (f.getIsbn().isEmpty())
else if (f.getIsbn().length() > 13) e.add("ISBNは13文字以内で入力してください。"); e.add("ISBNを入力してください。");
if (f.getNmBook().isEmpty()) e.add("書籍名を入力してください。"); else if (f.getIsbn().length() > 13)
else if (f.getNmBook().length() > 50) e.add("書籍名は50文字以内で入力してください。"); e.add("ISBNは13文字以内で入力してください。");
if (f.getKnBook().length() > 100) e.add("書籍名よみは100文字以内で入力してください。"); if (f.getNmBook().isEmpty())
if (f.getPublisher().length() > 50) e.add("出版社は50文字以内で入力してください。"); e.add("書籍名を入力してください。");
else if (f.getNmBook().length() > 50)
e.add("書籍名は50文字以内で入力してください。");
if (f.getKnBook().length() > 100)
e.add("書籍名よみは100文字以内で入力してください。");
else if (!f.getKnBook().matches("^[\\u3040-\\u309F]+$"))
e.add("書籍名よみはひらがなで入力してください");
if (f.getPublisher().length() > 50)
e.add("出版社は50文字以内で入力してください。");
return e; return e;
} }
@@ -78,10 +86,10 @@ public class BookAdminService {
private void check(BookForm f) { private void check(BookForm f) {
List<String> errors = validate(f); List<String> errors = validate(f);
if (!errors.isEmpty()) throw new BusinessException(String.join(" ", errors)); if (!errors.isEmpty())
throw new BusinessException(String.join(" ", errors));
} }
private static void apply(BookCollection b, BookForm f) { private static void apply(BookCollection b, BookForm f) {
b.setIsbn(f.getIsbn()); b.setIsbn(f.getIsbn());
b.setNmBook(f.getNmBook()); b.setNmBook(f.getNmBook());

View File

@@ -18,9 +18,6 @@ import com.example.demo.entity.Employee;
import com.example.demo.form.EmployeeForm; import com.example.demo.form.EmployeeForm;
import com.example.demo.repository.EmployeeRepository; import com.example.demo.repository.EmployeeRepository;
/** EMP-01:社員登録、EMP-02:社員編集 */ /** EMP-01:社員登録、EMP-02:社員編集 */
@Service @Service
public class EmployeeService { public class EmployeeService {
@@ -110,6 +107,8 @@ public class EmployeeService {
e.add("社員名よみを入力してください。"); e.add("社員名よみを入力してください。");
else if (f.getKnEmployee().length() > 100) else if (f.getKnEmployee().length() > 100)
e.add("社員名よみは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) {