最佳答案
我有一个情况,我正在上传一个图像用户已经从他的本地文件系统选择。在我的视图中,我的 Form 基本上有两个提交按钮。一个用于正常提交表单,并执行所有验证。第二个只是上传图片,在这种情况下,我还不想验证。
我设法关闭客户端验证通过给我的“上传图像”提交按钮一个类值“样式-名称取消”,所以
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
现在,当我回发时,我的模型有一个属性 UploadImageButton,当单击这个按钮时,它将填充这个属性(输入的名称与 Property 匹配)。这样,我就可以知道表单是通过真正的 Submit 按钮提交的,还是通过 UploadImageButton 提交的。
我的问题是..。 如何关闭 ServerSide 验证?当用户单击这个按钮时,我不希望验证摘要信息显示出来。我知道您可以使用这个来添加自定义模型错误
ModelState.AddModelError("{key}", "{error msg}");
我正在寻找一种方法来消除模型错误。这可能吗?
编辑:
以下是我的想法:
foreach (var key in ModelState.Keys.ToList().Where(key => ModelState.ContainsKey(key))) {
//ModelState.Remove(key); //This was my solution before
ModelState[key].Errors.Clear(); //This is my new solution. Thanks bbak
}