Как я могу подавить сообщения проверки на стороне клиента в ненавязчивой проверке MVC3 / jQuery? - PullRequest
0 голосов
/ 08 декабря 2011

Я использую System.ComponentModel.DataAnnotations.RequiredAttribute, чтобы указать, что требуется определенное свойство модели.

Без использования моего собственного обязательного атрибута проверки, есть ли достаточно простой способ подавления проверочных сообщений на стороне клиента, при этом позволяя им отображаться при запуске на стороне сервера через Html.ValidationSummary ()? Я все еще хочу, чтобы проверка произошла и даже выделил элемент ввода, но я не хочу, чтобы сообщение "xyzField is Required" отображалось для этого конкретного атрибута Required.

Мне нужно, чтобы ValidationMessageFor оставался работоспособным для всех других атрибутов ValidationAttributes для этого свойства модели - это только Обязательный, который я хотел бы подавить.

Мое рассуждение таково: у меня есть несколько небольших полей в непосредственной близости, и требуемые сообщения излишни и слишком заняты. Особенно учитывая, что «Обязательный» является наиболее частым преступником. Совершенно очевидно, что поле пустое, но обязательное (имеет * обязательный символ, а также подсвечивается красным, когда оставлено пустым).

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

1 Ответ

0 голосов
/ 09 декабря 2011

Вы должны удалить все сообщения о проверке для помощника, например:

@Html.ValidationMessageFor(m => m.UserName)

, а затем оставить вспомогательный отчет проверки в верхней части формы:

 @Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")

У вас будетотправить код, если вам нужен более конкретный ответ.

Как насчет того, чтобы оставить сообщение об ошибке пустым в модели?Например, в вашем обязательном атрибуте это будет [Required] или [Required(ErrorMessage="")]

См. Этот пост: Проверка вне модели

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