私はモデルクラスがあります。検証
public class YearlyChageRate
{
public int Year { get; set; }
public double Rate { get; set; }
}
を、私はYeaeがユニークかノーであると、条件年に独自のアプリケーションではないことを確認したいがusers.Howにエラーメッセージを表示することができます私は、年のフィールドが繰り返されているかどうかをチェックしますか?
私はモデルクラスがあります。検証
public class YearlyChageRate
{
public int Year { get; set; }
public double Rate { get; set; }
}
を、私はYeaeがユニークかノーであると、条件年に独自のアプリケーションではないことを確認したいがusers.Howにエラーメッセージを表示することができます私は、年のフィールドが繰り返されているかどうかをチェックしますか?
そして、ここで:MVC validation for unique
あなたは、データベースに固有の値のチェックを実行するには、モデルのリモート属性を使用することができます。
これは、リモート属性の正式な例である:http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx
あなたが検証し、DBに対するチェックのため[Remote]
属性のDataAnnotations属性を使用することもできますが、それは非常に良いデザインではありません選択。
私に説明してみましょう:
を持つUIでビジネス層でありますDataAnnotations、あなたは1で3をミックスしています。それは速くなりますが、確かにうまく設計されていません。
このようにあなたは、より多くのdisciplinateなアプローチを試みることができる:
POST
メソッドでページを表示しないでください。PRG pattern
の使用を強くお勧めします。 GoogleについてはPRG pattern
をご覧ください。 MvcContribにはModelStateToTempData
と呼ばれる素敵なActionFilter
があり、PRGパターンの実装を簡単なものにしています。
このチェックはどこで実行しますか?一年一意であることはどういう意味ですか?ユニークな場所?データベースなどで? –
データベース内で一意です。サーバー側をチェックして、ユーザーにメッセージを表示します。 – Shayan