【发布时间】:2012-12-21 10:26:00
【问题描述】:
我在“创建”视图中有以下文件输入标签:
<input type="file" id="RequestFile" name="RequestFile"/>
@Html.ValidationMessage("RequestFile")
ViewModel 包含这个对应的属性:
[Required(ErrorMessage="Please select a file")]
public HttpPostedFileBase RequestFile { get; set; }
这在“创建”视图中工作正常,但在“编辑”视图中,我将 ModelState.Isvalid 设置为 false。使用相同的 ViewModel 我想从验证中排除这个字段,因为我不想再次上传文件。
我尝试像这样简单地禁用输入标签:
<input type="file" id="RequestFile" name="RequestFile" disabled/>
这有一个禁用的输入控件,但验证仍然触发。
在 Controller 中应用 BindAttribute 也不起作用 (see this Question)
理想情况下(我知道这听起来不太可能),如果对此有服务器端解决方案,请发表您的想法。如果有什么小的客户端技巧,请告诉我!
【问题讨论】:
-
ModelState.Remove("RequestFile");? -
@cheesemacfly 谢谢!行得通。