Проверки модели ASP.NET MVC3 - PullRequest
2 голосов
/ 24 ноября 2011

Я использую одну и ту же модель для двух представлений в ASP.NET MVC3 Razor. Например, у меня было текстовое поле с именем «Имя». Мне нужна проверка для этого текстового поля только в одном представлении, а не в другом представлении. Я знаю, как реализовать это в jquery, но мое требование отличается тем, что мне пришлось дифференцировать его либо в модели, либо в действии конкретного представления.

Что-то вроде:

[Required(ErrorMessage="First Name is Required")]
public string FirstName { get; set; }

Но я не могу выяснить, как дифференцировать проверку для двух представлений в одной модели.

Может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

У ваших представлений разные проблемы, поэтому в этом случае, вероятно, подходят две модели представлений.Если это не удастся, я думаю, что вам, возможно, придется поместить проверку в другое место, т.е. не добавлять атрибут проверки в модель представления, а проверить в методе контроллера ...

if(string.IsNullOrEmpty(viewmodel.FirstName))
{
    ViewState.AddError("FirstName", "Required");
}

или аналогичном

1 голос
/ 24 ноября 2011

Если вы действительно хотите сделать это без разных (просмотр) моделей, вы можете поместить соответствующие атрибуты во входной тег, чтобы выполнить проверку, а не указывать ее для модели.

, если вам нужнотребование указанным выше способом вы можете сделать это: (при условии, что вы используете бритвенный синтаксис и ненавязчивую проверку)

@Html.TextboxFor(m=>m.FirstName, new { data_val="true", data_val_required="First name is required" } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...