В настоящее время я работаю над проектом ASP.NET MVC2. Я впервые работаю над настоящим веб-приложением MVC. Веб-сайт ASP.NET MVC действительно помог мне начать работу очень быстро, но у меня все еще есть некоторые неясные знания, касающиеся проверки модели данных.
Моя проблема в том, что я не знаю, где управлять моей заполненной моделью данных, когда речь идет о сложных правилах проверки. Например, проверка строкового поля с помощью Regex довольно проста, и я знаю, что мне просто нужно украсить свое поле определенным атрибутом, чтобы в модели были реализованы правила управления данными. Но если у меня есть несколько полей, которые мне нужно проверить, какие друг друга, например, несколько дат и времени, которые должны быть правильно установлены в соответствии с определенным правилом времени, где мне нужно проверять их? Я знаю, что могу создать свои собственные атрибуты проверки, но иногда проверка запрашивает конкретный путь проверки, который является сложным для проверки с использованием атрибутов.
Этот первый вопрос также подводит меня к смежному вопросу: правильно ли проверять модель в контроллере? Потому что на данный момент это единственный способ, который я нашел для комплексной проверки. Но я нахожу это немного грязным и чувствую, что он не совсем подходит для роли контроллера и намного сложнее для тестирования (множественный путь кода).
Спасибо.
NB. У меня здесь есть довольно неплохие решения, но я жду других идей и решения "наилучшей практики".