我有如下文件浏览按钮,大多数验证都是在UI中使用模型注释完成的,但其中一些是在动作中完成的(在控制器中)。
在这种情况下,当我转到控制器并进行验证并将错误发送到页面时,在UI中您会看到没有选择文件的消息(我想是因为它第二次调用以下代码),我该如何避免?
谢谢,
<div class="form-group">
@Html.LabelFor(model => model.Sat, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" name=@SConstants.SAFile />
@Html.ValidationMessageFor(model => model.Sa)
</div>
</div>
答案 0 :(得分:0)
当你进行验证往返时,上传的文件会丢失。即使您以某种方式保留它,您也无法为安全原因设置文件上载控制的值,如这些答案中所述: File upload answer 1和File upload answer 2
解决方法是使用客户端验证。如果您使用的是jQuery,可以在这些示例中查看jQuery验证:Sample1和Sample2