タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

validationに関するkatsushのブックマーク (3)

  • Clean Architectureにおいてバリデーションはどこでやるべきか

    クリーンアーキテクチャで web アプリケーションを作る際に、バリデーションはどのレイヤの責務なのか?と悩むことが多いため、それについての考察を行ってみる。 あと、バリデーションについて書いてたはずがドメインロジックとアプリケーションロジックの違いについても結構言及せざるを得ない感じになったので、そのへんの話もしてみる。 結論から言うと バリデーションはどのレイヤの責務なのか?という問い自体が間違いであり、レイヤごとにそのレイヤの責務となるバリデーションを行うべき、というのが今のところの結論。 バリデーションという単語は意味があまりに広い。「意図していないもの/ことを防ぐ」ことはすべてバリデーションと呼ばれている節がある。そのことにより、バリデーションというのはあたかも唯一つの責務であるかのように錯覚しがちだが、そうではない。クリーンアーキテクチャではレイヤによって責務を分担しているが、同

    Clean Architectureにおいてバリデーションはどこでやるべきか
  • Spring Bootで入力値の検証(バリデーション)の順番を制御する - かずきのBlog@hatena

    okazuki.hatenablog.com 基的に上の記事の通りでいいんですが、複数の属性を同じプロパティにつけた場合に、一気にバリデーションが実行されてエラーメッセージがうざいことになってしまいます。例えば以下のようなBeanがあったとして。 package okazuki.validationEdu; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotEmpty; public class Person { @NotEmpty(message = "なまえ入れてね") @Length(min = 1, max = 10, message = "1~10の間") private String name; public String getNa

    Spring Bootで入力値の検証(バリデーション)の順番を制御する - かずきのBlog@hatena
  • Spring BootでBean Validation (1) @GroupSequenceで順番にチェック - 親バカエンジニアのナレッジ帳

    Spring Bootでは(Spring Boot以外にもBean Validation使ってるやつ全部ですが)、Serializableクラスに対して 「org.hibernate.validator.constraints」や「javax.validation.constraints」を使って、 @NotEmptyや@Sizeといったようにアノテーションを使うだけでバリデーションを行うことができます。 入力値を見て、アノテーションの制約に違反していれば勝手にエラーを検知してくれるのですが、 (処理を途中で止めたりエラー内容を画面に表示させるのは手動でやらなければいけません。) 1つのフィールドに対して複数のアノテーションを付与した場合はすべてのエラーチェックが走り、 エラーメッセージも複数出力される可能性があります。 例えば、以下のようなコードがあった場合、 @NotEmpty @Si

    Spring BootでBean Validation (1) @GroupSequenceで順番にチェック - 親バカエンジニアのナレッジ帳
  • 1