私はいくつかのMVCアプリケーションを構築している途中であり、MVCでのデータ注釈のサポートが大好きです。組み込みのサポートは、簡単な検証チェックを実施するのに十分です。カスタムデータアノテーションを使用して一意のフィールドの検証を実装するにはどうすればよいでしょうか。たとえば、ユーザーが新しいログイン名を登録する必要があるビューモデルがありますが、db submitを呼び出す前に、その名前が存在しないかどうかを(Model.IsValidを使用して)確認する方法はありますか?
質問する
1877 次
2 に答える
1
独自のバリデーター属性を記述して、私が推測するデータベースをチェックすることも、すべてのデータをロードしてそれに対してチェックすることもできます。
私は単にデータベースへの書き込みを試みて、テーブルに一意の制約を持たせたいと思うでしょう。重複した挿入エラーがあることを示すエラーが返されたら、それをユーザーに表示するだけです。
先読みして自分自身をチェックするつもりはありません。
編集
挿入を行うコードでチェックを行うこともできると思います。読み取りを行うことができ、何も見つからない場合は挿入します。
重複を見つけた場合は、モデルの検証違反ルールに追加してそれを返すと、ページの検証の概要にエラーが表示されます。
于 2010-03-31T04:39:17.403 に答える
-1
ValidationAttribute(DataAnnotations名前空間のすべての検証属性のベース)から継承する独自の属性を作成します。ユーザーIDの一意性をチェックして、IsValidメソッドをオーバーライドします。
于 2010-03-31T04:39:45.127 に答える