1
我正在使用Html.ValidationMessageFor()方法在窗體上顯示驗證消息。對於大多數表單字段,除了幾個字段外,我收到了相應的錯誤消息。一個是'出生日期'字段,它是表格上的文本框,另一個是'州'字段,與所有美國州下拉。對於這兩個字段,我得到'DateOfBirth字段是必需的'。和'國家領域是必需的'。與Html.ValidationMessageFor()方法不一致的行爲
我打開了反射器,看了一下Html.ValidationMessageFor()靜態方法中的代碼,它似乎沒有像這些方法添加此消息。
任何想法,這個消息可能來自&如何解決它?
UPDATE 添加了模型代碼...基本上我使用的是CSLA的修剪版本。業務規則在創建時添加到類中,並且觸發一次,調用適當的方法。基本上,'rule.ErrorMessage'是ValidationMessageFor列出錯誤時應該顯示的內容。它適用於所有其他屬性,但DateofBirth &狀態屬性除外。
型號代碼
屬性:
public Guid UserId { get; set; }
public Guid PatientId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Phone1 { get; set; }
public string Phone2 { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public States State { get; set; }
public string Zip { get; set; }
public DateTime DateOfBirth { get; set; }
public string EmergencyName { get; set; }
public string EmergencyPhone { get; set; }
public string EmergencyRelation { get; set; }
業務規則:
this.AddValidation(new DataValidation("DateOfBirth", "DateOfBirthRequired",
delegate(DataValidation rule)
{
rule.ErrorMessage = "required";
return ((DateOfBirth >= new DateTime(1900, 1, 1)) && (DateOfBirth < DateTime.Today));
}, DataAction.Update | DataAction.Insert));
this.AddValidation(new DataValidation("State", "StateRequired",
delegate(DataValidation rule)
{
rule.ErrorMessage = "required";
return (State != States.Unknown);
}, DataAction.Insert | DataAction.Update));
你的模特是什麼樣的?你能提供這個源代碼嗎? – JasCav 2012-03-04 00:34:12
增加了模型的一些來源。 – Skadoosh 2012-03-04 00:52:14