昔から ASP.NET MVC の検証を条件付きで実行したいと思っていた人生でした。 言葉で説明すると分かりにくいので、ヨドバシのオンラインショップのフォームがサンプルとして都合良かったので拾ってきました。 このフォームの場合、チェックの有無で検証の有無も切り替わるようになっています。これを ASP.NET MVC で実現する場合、殆どの場合は IValidatableObject を実装して、独自の検証を行うコードを書くのではないかと思います。面倒ですね。 地味にこのようなフォームが必要になるケースって多いと思います。仕事で割と出会っているので、今回は気合い入れて条件付きの検証を行う属性とモデルバインダを実装しました。 成果物は SwissKnife.Mvc に突っ込んであるので GitHub にはソースコードが、NuGet にはバイナリを置いてあります。 NuGet Gallery |