我正在尝试使用Data Annotation验证表单。对于字符串类型和整数来说似乎很棒,但对于文件上传,我无法从类中进行验证。它只会被发送一个字符串“HttpPostedFileWrapper”。有人有任何提示吗?
由于
答案 0 :(得分: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中)并且它有所作为。
希望有所帮助。
干杯, 特里