0
我有一個ViewModel,我正在使用POST數據回到服務器。MVC 4 ViewModel不顯示驗證
[MetadataType(typeof(CompanyAdminViewModel))]
public class CompanyAdminViewModel
{
public Company Company { get; set; }
public RegisterModel User { get; set; }
public CompanyAdminViewModel()
{
}
}
公司實體的子實體:Company.CompanyContacts
public class CompanyContact
{
public int CompanyContactId { get; set; }
public int JobTitleId { get; set; }
public int CompanyId { get; set; }
public string Title { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public Nullable<DateTime> BirthDate { get; set; }
public string Gender { get; set; }
[Required]
public string Phone { get; set; }
public string Fax { get; set; }
public string Extension { get; set; }
[Required]
public string Email { get; set; }
public Nullable<DateTime> HireDate { get; set; }
public virtual Company Company { get; set; }
public virtual JobTitle JobTitle { get; set; }
public bool IsActive { get; set; }
}
當我查看pagesource,數據 - *屬性正確地呈現爲模型的屬性。
<div class="editor-label">
<label for="FirstName">FirstName</label>
</div>
<div class="editor-field">
<input class="text-box single-line" data-val="true" data-val-required="The FirstName field is required." id="FirstName" name="FirstName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
</div>
<div class="editor-label">
<label for="LastName">LastName</label>
</div>
<div class="editor-field">
<input class="text-box single-line" data-val="true" data-val-required="The LastName field is required." id="LastName" name="LastName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span>
</div>
當我POST表單時,只有密碼屬性顯示驗證錯誤。當我檢查Model.IsValid時,所有失敗的驗證都在集合中...
那麼,爲什麼在嘗試POST之後,窗體上只顯示一些驗證錯誤?
您可以發佈表單代碼 –
我沒有看到密碼字段的任何地方 – Cris
我只展示無效的字段 - 密碼正確顯示驗證 – Greg