我想知道是否可以在某些 Controller 操作中禁用 Required 验证属性。我想知道这是因为在我的一个编辑表单上,我不要求用户为他们之前已经指定的字段输入值。然而,我随后实现了逻辑,当他们输入一个值时,它使用一些特殊的逻辑来更新模型,例如散列值等。
关于如何解决这个问题有什么建议吗?
编辑:
是的,客户端验证在这里是一个问题,因为它不允许他们在不输入值的情况下提交表单。
最佳答案
使用 View 模型可以很容易地解决这个问题。 View 模型是专门为满足给定 View 的需要而定制的类。因此,例如在您的情况下,您可以拥有以下 View 模型:
public UpdateViewView
{
[Required]
public string Id { get; set; }
... some other properties
}
public class InsertViewModel
{
public string Id { get; set; }
... some other properties
}
将在其相应的 Controller 操作中使用:
[HttpPost]
public ActionResult Update(UpdateViewView model)
{
...
}
[HttpPost]
public ActionResult Insert(InsertViewModel model)
{
...
}
关于c# - 在某些情况下禁用 Required 验证属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367287/