Я хочу использовать сообщение об ошибке, возвращаемое RuleViolation, в качестве validationMessage из Html.ValidationMessage (modelName, validationMessage).
Простой пример: Person.cs
public partial class Person
{
public bool IsValid
{
get { return (GetRuleViolations().Count() == 0); }
}
public IEnumerable<RuleViolation> GetRuleViolations()
{
if (String.IsNullOrEmpty(Name))
yield return new RuleViolation("Name required", "Name");
yield break;
}
}
добавление ошибок в состояние модели
foreach (RuleViolation issue in errors)
{
modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
страница asp
/ CreatePerson /
<%=Html.TextBox("Name",Model.Name)%>
<%=Html.ValidationMessage("Name", "Name required")%>
Я хочу использовать сообщение RuleViolation вместо «Требуется имя» выше. Это возможно?
решение (из Александр Прокофьев ) использует ValidationMessage с одним параметром
<%=Html.ValidationMessage("Name")%>
это очень простой пример, некоторые из моих бизнес-правил могут выдавать разные RuleViolations на входе в зависимости от значения.
Большое спасибо.
Simon