简单的问题......是否可以在类型文件的输入上使用客户端MVC 3验证?
解释:MVC 3使用IClientValidatable和不显眼的javascript进行模型验证,允许您在服务器端编写验证,并使用Microsoft的插件使用jquery validate渲染客户端。要创建属性,请在
下添加属性[Required]
public HttpPostedFileBase CvFile {get; set;}
只要在配置中启用了客户端val和不显眼的javascript,就应该在客户端上启动。
但是HttpPostedFileBase
(即<input type="file" name="Model.CvFile" />)
将无法在客户端运行。
如何实现这一点,以保持与服务器端验证的关系
答案 0 :(得分:27)
您需要手动添加:
<input type="file" data-val="true" data-val-required="please select a file" name="file" />
@Html.ValidationMessage("file")
答案 1 :(得分:1)
简单回答:HttpPostedFileBase
呈现“文件”输入类型,这是一个安全问题,而AFAIK是不可编写脚本的。这种“开箱即用”并不支持。
编辑:这似乎是一个非常受欢迎的在线话题。 http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx