Проверка формы с использованием MVC3? - PullRequest
0 голосов
/ 12 декабря 2010

В книге Professional MVC, написанной Hanselman / Guthrie, они показывают, как проверять форму, используя встроенные вспомогательные методы и аннотации данных. Это работает, но требует много ручного кода.

Существует ли новый / более простой способ проверки входных данных с использованием встроенной сантехники?

Я использую Шаблон репозитория с Entity Framework.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

Если вы собираетесь использовать ViewModels, я настоятельно рекомендую использовать AutoMapper от souceforge

Я согласен со всеми, что DataAnnotation великолепна - его способность интегрироваться с jQuery для обеспечения проверки на стороне клиента безнаписав одну строчку, JQuery продал ее мне за секунду!

0 голосов
/ 08 апреля 2011

Как уже упоминалось в комментариях, использование аннотаций данных является новым / простым способом проверки.Преимущество использования аннотаций данных в том, что вы можете проверять свои модели в любое время и в любом месте приложения.Обычно я настраиваю общую службу следующим образом:

public class ValidationService<T> : IValidationService<T>
{
    public List<ValidationResult> Validate(T obj)
    {
        var results = new List<ValidationResult>();
        Validator.TryValidateObject(
            obj,
            new ValidationContext(obj, null, null),
            results,
            true);
        return results;
    }
}

Затем для проверки модели:

var service = new ValidationsService<MyClass>();
var errors = service.Validate(myobject);

Учитывая, сколько функциональности вы получаете для такого небольшого количества кода, DataАннотации довольно мощные, особенно если учесть, как легко написать собственные атрибуты проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...