我有一个类似以下的模型:
public class MyModel {
[Required]
public string Name { get; set; }
public string Family { get; set; }
[Required]
public int Number { get; set; }
}
因此,例如在编辑视图中,我有3个Editorfor()
个对象,我很有兴趣过滤此页面的帖子数据,实际上我想忽略Number
字段,只想发布{{1 }}和Name
我还需要Family
的验证是活动的,一种方法是从Number
中删除Number
属性并手动定义并编写所有验证脚本通过自己,但我很有趣,知道在MVC中是否有任何更简单的方法。有没有人有任何想法?
答案 0 :(得分:1)
手动控制所有验证和模型绑定太复杂且容易出错。您应该使用ViewModels
public class SomeSpecificViewModel
{
[Required]
public string Name { get; set; }
public string Family { get; set; }
}
public ActionResult SomeSpecificAction(SomeSpecificViewModel model)
{
//...
}
现在MVC将只验证姓名和家庭
答案 1 :(得分:0)
视图中未填写的任何值都不会发布到控制器。但是,如果未填写[Required]
字段,则ViewModel.isValid
将为false。