asp.net MVC 2使用数据注释验证文件上载

时间:2010-03-09 09:48:18

标签: c# asp.net-mvc data-annotations

我正在尝试使用Data Annotation验证表单。对于字符串类型和整数来说似乎很棒,但对于文件上传,我无法从类中进行验证。它只会被发送一个字符串“HttpPostedFileWrapper”。有人有任何提示吗?

由于

1 个答案:

答案 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中)并且它有所作为。

希望有所帮助。

干杯, 特里