52日目 バリデーション
作っていたシステムが完成した。
在庫を管理するシステムで、在庫の参照、追加、更新、削除などの機能をデータベースと連携させて作った。
今日は最後の仕上げでエラーチェック、バリデーションに使った一日だった。
エラーメッセージはmessagespropertiesに外部化。
主に、
@NotEmpty
@Size
@Pattern
の3つを使いバリデーションを行った。
@バリデーション.フィールド名
とすることで、フィールドごとにエラー分を振り分けることができる。
苦戦したのが@Patternでの正規表現。
未入力を通し、入力値があった場合チェックする。
という記述がわからず、if文を使いごちゃごちゃしていたが、記号を組み合わすことで、未入力を通す正規表現が作れると知った。
先頭を表す「^」
末尾を表す「$」
を繋げて「^$」と書くことで未入力をパスすることができる。
なので、
「^$|[a-z0-9]」
などと書けば、入力があった場合、英数のみとする。
という正規表現が作れる。
正規表現は奥が深い。