私はまだMVC3とRazorを勉強しているので、これはおそらく簡単な質問です。DropDownListクライアント側の検証は、そうであってはならないときに検証します。 (MVC3、Razor)
@Html.DropDownList("Segments", "-- select segment --")
のように定義されたビューモデルのセグメントプロパティがあります:私は唯一の目的である(AJAX経由)フィルタを助けるために2つ目のドロップダウン・リストのDropDownListを持つビューで
public IEnumerable<SelectListItem> Segments { get; set; }
このDropDownListの変更イベントを処理し、別のDropDownListに適切な値を設定するJavaScriptがあります。他のDropDownListは次のように定義されています:
@Html.DropDownListFor(m => m.fafhProdRecId, Enumerable.Empty<SelectListItem>(), "-- select product recommendation --")
これはすべて私が提出するまでうまくいきます。送信すると、[セグメント]ドロップダウンリストで検証エラーが発生します。
今では、セグメントには全く検証は必要ありません。DropDownList - その点に関しては、いずれのクライアント側の検証もどちらのドロップダウンリストにも存在してはいけません。
しかし、私は提出しようとしたとき、私は戻って検証エラーメッセージが表示されます:
値「1」は無効です。
なぜこれが起こっているのかわかりません。 Segmentsプロパティを装飾して、必須ではないということをどのようにするかわかりません。 私は控えめなjavascriptバリデーターに、実際にはかなり目立っていると言うことをどうにかしてはわかりません。
ねえ、私たちは皆、読みやすい変数名を持ってすることに同意しませんでしたか? ☺ – MrBoJangles