0

独自のカスタム データ注釈を使用した MVC 4.5 のカスタム検証についてアドバイスが必要です

ウェブサイトに登録するときに誰かの年齢を検証しています。

バリデーターに渡すフィールドとしてこれらを必要とします。

(date) date of birth
(date)event start date
(int)min age value

最小年齢とイベント開始日を web.config に保存します。したがって、これは簡単にカスタマイズできます。イベントの日付を確認する際に、ユーザーの年齢が十分でない場合、ユーザーは登録できません。

どうすればこれを行うことができますか?いくつかの例を確認しましたが、頭がよくわからないようです。

ありがとう...

4

5 に答える 5

0

IValidatableObject インターフェイスを実装してから Validate メソッドを使用することで、カスタム検証を行うことができます。「 IValidatableObject カスタム検証を使用する」にチェックを入れます

IValidatableObject はサーバー側の検証のみをサポートすることに注意してください。私の見解では、サーバー側の検証を実施する方が適切です。Web サービス呼び出しから同じメソッドを使用している場合に備えて。

カスタム クライアント検証が必要な場合は、IClientValidatable と ValidationAttribute を実装してみてください

于 2013-05-03T13:11:19.133 に答える
0

年齢検証のためだけにカスタム属性を作成する必要はありません。必要なことは、生年月日から年齢を計算するカスタム プロパティを作成し、その年齢プロパティに最小年齢で正常範囲の検証属性を追加することだけです。

ただし、問題は、web.config で最小年齢を設定していて、属性が実行時ではなくコンパイル時に作成されることです。

はるかに優れた検証シナリオを作成できるため、Fluent Validation を使用することをお勧めします。

于 2013-05-03T14:10:11.083 に答える
0

ValidationAttributeを使用して独自の注釈を作成し、必要なプロパティに装飾します。ブール値を返すValidate()メソッドを上書きする必要があります。それに基づいて、操作を実行できます

于 2013-05-03T13:15:52.443 に答える