2

私はいくつかのMVCアプリケーションを構築している途中であり、MVCでのデータ注釈のサポートが大好きです。組み込みのサポートは、簡単な検証チェックを実施するのに十分です。カスタムデータアノテーションを使用して一意のフィールドの検証を実装するにはどうすればよいでしょうか。たとえば、ユーザーが新しいログイン名を登録する必要があるビューモデルがありますが、db submitを呼び出す前に、その名前が存在しないかどうかを(Model.IsValidを使用して)確認する方法はありますか?

4

2 に答える 2

1

独自のバリデーター属性を記述して、私が推測するデータベースをチェックすることも、すべてのデータをロードしてそれに対してチェックすることもできます。

私は単にデータベースへの書き込みを試みて、テーブルに一意の制約を持たせたいと思うでしょう。重複した挿入エラーがあることを示すエラーが返されたら、それをユーザーに表示するだけです。

先読みして自分自身をチェックするつもりはありません。

編集

挿入を行うコードでチェックを行うこともできると思います。読み取りを行うことができ、何も見つからない場合は挿入します。

重複を見つけた場合は、モデルの検証違反ルールに追加してそれを返すと、ページの検証の概要にエラーが表示されます。

于 2010-03-31T04:39:17.403 に答える
-1

ValidationAttribute(DataAnnotations名前空間のすべての検証属性のベース)から継承する独自の属性を作成します。ユーザーIDの一意性をチェックして、IsValidメソッドをオーバーライドします。

于 2010-03-31T04:39:45.127 に答える