1
我有一個名爲「出版物」的模式,它有另一種模式裏面所謂的「出版商」:MVC4的ModelState驗證和所需參數
public class Publication
{
public int PublicationID { get; set; }
public Publisher Publisher { get; set; }
}
public class Publisher
{
public int PublisherID { get; set; }
[Required]
public string Name { get; set; }
}
所以,當我從數據庫中獲取的出版物的數據,我也填寫每個出版物的發佈者信息以根據需要使用它。
當我添加其他出版物,我不得不選擇了一家出版社,這是一個強制性的領域,我有一個包含所有出版商,以便用戶可以選擇該刊物,出版商的頁面一個DropDownList:
<div>
@HtmlDropDownListFor(model => model.Publisher.PublisherID, myPublisherList)
</div>
而且它填充數據完全正常,但我在該行收到一個錯誤:
if(ModelState.IsValid)
由於發行者的名稱沒有被指定的,即使我只需要ID。 我不想砸Model.IsValid線,因爲有一堆需要驗證等領域,我想離開它儘可能的乾淨,那麼有沒有一種簡單的方法來填補它的名字值?
我想添加一個隱藏的字段,並使用Javascript來填充每次用戶更改選擇時的值,但我希望儘可能使用清潔和無JavaScript的方法。
謝謝!