Asp.net-Mvc
文件輸入 MVC 3 需要的客戶端驗證
簡單的問題…是否可以對文件類型的輸入使用客戶端 MVC 3 驗證?
解釋一下:MVC 3 將其模型驗證與 IClientValidatable 和不顯眼的 javascript 一起使用,以允許您在伺服器端編寫驗證,並使用 Microsoft 的外掛使用 jquery validate 呈現客戶端。要使屬性成為必需,請添加以下屬性
[Required] public HttpPostedFileBase CvFile {get; set;}只要客戶端 val 和不顯眼的 javascript 在配置中打開,這都應該在客戶端上觸發。
但是
HttpPostedFileBase(即<input type="file" name="Model.CvFile" />)不需要在客戶端執行。任何想法如何保持與伺服器端驗證的關係
簡單的答案:A
HttpPostedFileBase呈現“文件”輸入類型,這是一個安全問題,而且,AFAIK,不可編寫腳本。不支持這種“開箱即用”。編輯:這似乎是一個非常流行的線上話題。 http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx
您需要手動添加它:
<input type="file" data-val="true" data-val-required="please select a file" name="file" /> @Html.ValidationMessage("file")