猿问

在某些情况下禁用必需的验证属性

我想知道是否可以在某些控制器操作中禁用“必需的验证”属性。我想知道这是因为在我的一种编辑表单上,我不需要用户为他们先前已经指定的字段输入值。但是,我然后实现了一种逻辑,即当他们输入值时,它使用一些特殊的逻辑来更新模型,例如对值进行哈希处理等。

关于如何解决此问题有任何建议吗?

编辑:
是的,客户端验证在这里是一个问题,因为它将不允许他们在不输入值的情况下提交表单。


鸿蒙传说
浏览 406回答 3
3回答

三国纷争

通过使用视图模型可以轻松解决此问题。视图模型是专门为给定视图的需求量身定制的类。因此,例如,您可能需要以下视图模型:public UpdateViewView{    [Required]    public string Id { get; set; }    ... some other properties}public class InsertViewModel{    public string Id { get; set; }    ... some other properties}将在其相应的控制器操作中使用:[HttpPost]public ActionResult Update(UpdateViewView model){    ...}[HttpPost]public ActionResult Insert(InsertViewModel model){    ...}
随时随地看视频慕课网APP
我要回答