Проверка только выбранных полей с использованием ASP.NET MVC 2 и аннотаций данных - PullRequest
2 голосов
/ 22 марта 2010

Я использую аннотации данных с ASP.NET MVC 2, как показано в этом посте:

http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

Все отлично работает при создании / обновлении объекта, где все необходимые значения свойств указаны в форме и действительны.

Однако, что если я хочу обновить только некоторые поля? Например, допустим, у меня есть учетная запись с 20 полями, но я хочу только обновить имя пользователя и пароль?

ModelState.IsValid проверяет все свойства, независимо от того, указаны ли они в отправленной форме.

Как я могу заставить его проверять только те поля, на которые есть ссылки в форме?

Ответы [ 2 ]

2 голосов
/ 23 марта 2010
2 голосов
/ 22 марта 2010

Рекомендуется использовать модель, характерную для каждого вида. В вашем случае это будет модель с только свойствами имени пользователя и пароля. Когда пользователь отправляет форму, вы сопоставляете свойства реальному объекту домена в контроллере. Для этого я использую Automapper, чтобы упростить отображение. Это означает, что вам необходимо установить правила проверки в каждой модели представления.

...