我有一种情况,我正在上传用户从他的本地文件系统中选择的图像。在我看来,我的表单基本上有两个提交按钮。一个用于正常提交表单,并执行所有验证。第二个仅用于上传图像,在这种情况下我还不想验证。
我设法通过给我的“上传图像”提交按钮一个“样式名称取消”的类值来关闭客户端验证,所以
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
现在,当我回帖时,我的模型有一个属性 UploadImageButton,当单击此按钮时,它会填充此属性(输入的名称与属性匹配)。这样,我就知道表单是由我真正的提交按钮还是由 UploadImageButton 提交的。
我的问题是……如何关闭服务器端验证?我不希望在用户单击此按钮时显示验证摘要信息。我知道你可以使用这个添加自定义模型错误
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
}