asp.net MVC 2 Проверка загрузки файлов с аннотацией данных - PullRequest
1 голос
/ 09 марта 2010

Я пытаюсь проверить форму с помощью аннотации данных. Кажется, это отлично подходит для строковых типов и целых чисел, но для загрузки файла я не смог проверить из класса. Было бы просто отправить строку "HttpPostedFileWrapper". У кого-нибудь есть советы?

Спасибо

1 Ответ

4 голосов
/ 25 мая 2010

Вы можете просто использовать аннотации данных в соответствии с общим использованием.

Например, модель представления, такая как:

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), и это сработало.

Надеюсь, это поможет.

Cheers, Терри

...