ビジネス タイプを示すラジオ ボタンを含む MVC フォームがあります。事業タイプが有限会社または PLC の場合、フォームには追加の会社登録番号と登録事務所の住所フィールドが表示されます。ラジオ ボタンの値が 2 より大きい場合は、両方のフィールドが入力されていることを確認します。
@Html.LabelFor(x => x.CorporateIdentityId, "Sole Trader")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "1", new { @checked = "checked" })
@Html.LabelFor(x => x.CorporateIdentityId, "Partnership")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "2")
@Html.LabelFor(x => x.CorporateIdentityId, "Limited Company")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "3")
@Html.LabelFor(x => x.CorporateIdentityId, "Plc")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "4")
そこで、Foolproof Validation をインストールしました。ばかなので、これは理想的な解決策だと思いました。
私のビューモデルには次のものがあります。
public int CorporateIdentityId { get; set; }
[Required]
[GreaterThan("CorporateIdentityId")]
[DisplayName("Reg Number")]
public string CompanyRegistration { get; set; }
GreaterThan 属性に値を指定したいと思います。
[GreaterThan("CorporateIdentityId","2")]
しかし、それは気に入らないようです。もちろん、これを行う方法に関するドキュメントや例はないようです。すべての例は、現在の日付、真/偽などの暗黙の値を示しているだけのようです。比較する明示的な値はありません。
私は単純にフールプルーフ検証を求めすぎているのでしょうか? もしそうなら、私が使用できる代替手段はありますか?