2010-03-09 103 views
1

我想驗證一個窗體使用數據註釋。對字符串類型和整數看起來很不錯,但對於文件上傳,我無法從類中進行驗證。它只會發送一個字符串「HttpPostedFileWrapper」。有沒有人有任何提示?asp.net MVC 2驗證文件上傳與數據註釋

謝謝

+0

任何機會,你可以提供一些示例代碼? – belugabob

回答

4

您可以根據一般用法使用數據註釋。

例如,視圖模型如:

public class UpdateSomethingViewModel { 
    [DisplayName("evidence")] 
    [Required(ErrorMessage="You must provide evidence")] 
    [RegularExpression(@"^abc123.jpg$", ErrorMessage="Stuff and nonsense")] 
    public HttpPostedFileWrapper Evidence { get; set; } 
} 

然後在您的控制器僅僅是以往:

[HttpPost] 
public ActionResult UpdateSomething(UpdateHSomethingViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     // do stuff - plenty of stuff 
     // weee, we're off to see the wizard. 

     return RedirectToAction("UpdateSomethingSuccess", model); 
    } 

    return View(model); 
} 

我剛測試(儘管在MVC2/.NET 4)和它工作過一種享受。

希望有所幫助。

乾杯, 特里

+0

HttpPostedFileWrapper就是我一直在尋找的東西。 –