4
我想使用由RuleViolation返回的錯誤消息作爲Html.ValidationMessage(modelName,validationMessage)的validationMessage。asp.net MVC RuleViolation.ErrorMessage到Html.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;
}
}
加入錯誤的ModelState
foreach (RuleViolation issue in errors)
{
modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
ASP頁面 /createPerson/
<%=Html.TextBox("Name",Model.Name)%>
<%=Html.ValidationMessage("Name", "Name required")%>
我想要做的就是使用RuleViolation消息而不是上面的「需要名稱」。這可能嗎?
解決方案(從Alexander Prokofyev)使用ValidationMessage與單個放慢參數
<%=Html.ValidationMessage("Name")%>
這是一個很簡單的例子,我的一些業務規則上取決於值輸入扔不同RuleViolations。
非常感謝。 西蒙
非常感謝Alexander,DOH!對我而言,我應該看到這一點 – longhairedsi 2009-06-30 12:46:54