我有一个表单,用户可以在其中输入两种类型的数据: 1.项目细节 2.与项目有关的调查问题
表单有2个提交按钮 1.保存草稿 2.提交
“保存草稿”帖子需要仅验证项目详细信息,而不验证调查字段。提交帖子应验证项目和调查数据。
当用户点击“保存草稿”时,有没有办法部分验证数据?也许处理“保存草稿”点击并忽略/删除调查字段的验证...
答案 0 :(得分:1)
您可以使用动作过滤器属性进行部分验证。您可以根据自己的需要进行自定义。它使您可以访问请求和模型状态。通过访问模型状态,您可以修改验证错误。
public class ValidateDraftAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var modelState = filterContext.Controller.ViewData.ModelState;
var incomingValues = filterContext.Controller.ValueProvider;
modelState[key].Errors.Clear();
}
}
然后将该属性添加到控制器中。