1

ユーザーが値o(ゼロ)のオプションとは異なるオプションを選択した場合にのみ、ドロップダウンリストのデータ注釈属性を有効にすることは可能ですか?値がo(ゼロ)のオプションは「アカウントを選択してください」で、デフォルトで選択されています。[必須]属性を使用してこのドロップダウンリストを検証しましたが、効果はありません。これは、デフォルトで値o(ゼロ)のオプション[アカウントを選択してください]が選択されているためです。

4

2 に答える 2

1

何かのようなもの:

[Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")]
public int Value { get; set; }
于 2012-09-21T12:43:54.617 に答える
1

必要なドロップダウンリストを作成することは意味がありません。必要なのは、ユーザーがドロップダウンリストからゼロ以外の値を選択することです。したがって、必要なのはSelectedAccountプロパティです。ドロップダウンで選択した値をSelectedAccountプロパティにバインドするには、MVCヘルパーメソッドを使用する必要があります。

@Html.DropdownListFor(m => m.SelectedAccount, new SelectList(Model.Accounts))

私はおそらく構文に興味がありませんが、あなたはそれを調べることができます。

次に、値がゼロでないことを確認するという他の問題について説明します。アカウント番号は数字で表されますか、それとも数字以外の文字を含めることができますか?数値の場合は、コードでそのように表す必要があります。また、それが本当に文字列である場合、ドロップダウンリストの最初の値はゼロではなく空の文字列である必要があります。

数値であると判断した場合は、Rangeアノテーションを使用して、値がゼロより大きいことを確認します。

[Required]
[Range(1, Int32.MaxValue)]
public string SelectedAccountNumber {get;set;} 

お役に立てば幸いです。

于 2012-09-21T12:47:40.307 に答える