Я использую проверку на стороне сервера, как
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;
}
Когда я оставляю Price пустым, тогда значение принимает 0.
Поэтому я проверяю это с 0.
В моей базе данных цена не может быть нулевой; и я использую класс LINQ-to-SQL.
Теперь моя проблема в том, что когда я оставил Прайс-бланк пустым, он выдаст мне два сообщения, например.
- Требуется значение.
- Требуется цена.
Итак, как поставить пользовательскую проверку без отображения первого сообщения об ошибке?
Relpy для комментария
Я передаю код книги Professional Asp.net MVC 1.0 здесь .
HTML-страницы Книги: Здесь .
полезно страница .
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;
}
}