質問編集履歴

1 タグ変更

ShouOkada

ShouOkada score 33

2017/06/15 07:12  投稿

MVC モデルのバリデーションについて
モデルでアノテーション(Required)を指定しているプロパティが4つあります。
```ここに言語を入力
[Required]
public string A { get; set; }
[Required]
public string B { get; set; }
[Required]
public string C { get; set; }
[Required]
public string D { get; set; }
```
条件によってこのアノテーションを無効にしたり有効にしたりする方法はありますでしょうか?(Dだけは必ず有効)
FLGというプロパティがあるとして、その値が1の時はRequiredを有効0の時は無効みたいな事が出来ればいいと思っています。
カスタムバリデーションなどで下記のようなことも考えましたが、「m.A」の所をABCすべてに対応させる方法がわかりませんでした。
```ここに言語を入力
public static ValidationResult CheckRequired(Test m)
{
if (m.FLG=="1" && m.A == null)
{
return new ValidationResult("エラー");
}
return ValidationResult.Success;
}
```
  • C#

    10224 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • MVC

    306 questions

    MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

  • ASP.NET MVC Framework

    114 questions

    ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る