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的方法。
谢谢!