私はブランクとして価格を去ったとき、それは値として0をとる整数の検証
public IEnumerable<RuleViolation> GetRuleViolations()
{
if (String.IsNullOrEmpty(Name))
yield return new RuleViolation("Name is Required", "Name");
if (Price == 0)
yield return new RuleViolation("Price is Required", "Price");
yield break;
}
のように、サーバー側の検証を使用しています。
したがって、私はそれを0でチェックします。
マイデータベース価格はnullにできません。私はLINQ-to-SQLクラスを使用しています。
私の問題は、価格を空白のままにしたときに2つのメッセージが表示されることです。
- 値は必須です。
- 価格が必要です。
最初のエラーメッセージを表示せずにカスタム検証を行うにはどうすればよいですか?私はプロフェッショナルAsp.net MVC 1.0 hereの書籍コードをrefferingい
Relpyはコメントします。
書籍のHTMLページはHereです。
有用なpage。
public class RuleViolation
{
public string ErrorMessage { get; private set; }
public string PropertyName { get; private set; }
public RuleViolation(string errorMessage)
{
ErrorMessage = errorMessage;
}
public RuleViolation(string errorMessage, string propertyName)
{
ErrorMessage= errorMessage;
PropertyName = propertyName;
}
}
"A value is required"というメッセージを生成するコードは表示されないので、言い難いです。 RuleViolationは.Netクラスか自分で作成したカスタムクラスですか? –