2

私はMVC3が初めてです。たとえば、カスタム検証に問題があります

私の BasicInfoViewModel.cs では、

[Required]
    [Display(Name = "State", ResourceType = typeof(Resources.Global))]
    public string State { get; set; }

    [Display(Name = "City", ResourceType = typeof(Resources.Global))]
    public string City { get; set; }

私のBasicDetailsView.cshtmlでは、

<label>
<span class="td">@Application.Resources.Global.State</span>
 @Html.DropDownListFor(m => m.State, (List<SelectListItem>)ViewData["State"])
</label>
<label>
<span class="td">@Application.Resources.Global.City</span>
@Html.DropDownListFor(m => m.City, (List<SelectListItem>)ViewData["City"])
</label>

stateプロパティがtrueを返す場合は、 "City"のみが必要です。そうでない場合、Cityは必要ありません。テキスト ボックスは無効にする必要があります。プレーンな html を使用しているため、 EditorForを使用していません。 DropDownListForを使用しています。誰でもこの問題を解決するのを手伝ってもらえますか? ありがとう...

4

2 に答える 2

3

MVC Foolproof既存のものを拡張し、追加機能を提供する一連の検証データ注釈です。たとえば、[RequiredIfNotEmpty]このパッケージの属性は、条件付き検証が可能であるため、シナリオに非常に適しています。

[Display(Name = "State", ResourceType = typeof(Resources.Global))]
public string State { get; set; }

[RequiredIfNotEmpty("State")]
[Display(Name = "City", ResourceType = typeof(Resources.Global))]
public string City { get; set; }

現在、State プロパティはオプションです。ただし、値がある場合は、City プロパティが必要です。

于 2012-12-29T11:04:29.587 に答える
0

RequiredIfAttributeを見たいと思うかもしれません。都市のドロップダウン リストを無効にするには、jquery を使用します。データが有効かどうかを確認するには、js メソッド $("selector") .valid()を使用します。これは 0 または 1 を返し、指定されたフィールドの検証メッセージも表示します

于 2012-12-29T11:07:52.573 に答える