【问题标题】:file input MVC 3 Client-side validation for required文件输入 MVC 3 需要的客户端验证
【发布时间】:2011-08-03 17:39:37
【问题描述】:

简单的问题...是否可以对文件类型的输入使用客户端 MVC 3 验证?

解释一下:MVC 3 使用它的模型验证和 IClientValidatable 和不显眼的 javascript,允许您在服务器端编写验证,并使用 Microsoft 的插件使用 jquery validate 呈现客户端。要使属性成为必需,请在下面添加属性

[Required]
public HttpPostedFileBase CvFile {get; set;}

只要客户端 val 和不显眼的 javascript 在配置中打开,这应该都会在客户端上触发。

但是HttpPostedFileBase(即<input type="file" name="Model.CvFile" />) 将不需要在客户端运行。

任何想法如何保持与服务器端验证的关系

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 validation file-io unobtrusive-javascript


    【解决方案1】:

    您需要手动添加:

    <input type="file" data-val="true" data-val-required="please select a file" name="file" />
    @Html.ValidationMessage("file")
    

    【讨论】:

      【解决方案2】:

      简单的答案:HttpPostedFileBase 呈现“文件”输入类型,这是一个安全问题,并且,AFAIK,不可编写脚本。不支持这种“开箱即用”。

      编辑:这似乎是一个非常流行的在线话题。 http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 2012-05-25
      相关资源
      最近更新 更多