проблема в нескольких validation.xml для одного действия в struts2 - PullRequest
0 голосов
/ 05 мая 2009

Я работаю над приложением struts2. У меня есть страница JSP с 3 текстовыми полями. И я проверяю каждое поле с помощью файла action-validation.xml. Теперь я хочу, чтобы в случае провала проверки в первом поле не нужно было проверять два других поля и результаты сразу переходили на страницу jsp (скажем, a.jsp), показывающую сообщение об ошибке только для этого единственного поля. И если проверка не завершается с ошибкой в ​​первом поле, тогда она должна проверить остальные поля, то есть второй и третий поля, а теперь, если проверка не пройдена здесь, то также результат непосредственно перейти на страницу jsp, но другую (скажем, b.jsp), показывающую сообщение об ошибке. Является ли это возможным? Если да, то, пожалуйста, сообщите мне об этом.

Я пробовал это, но action-validation.xml проверяет все поля в отдельном снимке, и сообщения об ошибках для всех полей отображаются на странице jsp, которую я написал под a.jsp

Заранее спасибо.

1 Ответ

1 голос
/ 06 мая 2009

Вы можете добавить короткое замыкание в вашем поле-валидаторе

, например

<!-- Field Validators for email field -->
  <field name="email">
      <field-validator type="required" short-circuit="true">
          <message>You must enter a value for email.</message>
      </field-validator>
      <field-validator type="email" short-circuit="true">
          <message>Not a valid e-mail.</message>
      </field-validator>
  </field>
  <!-- Field Validators for email2 field -->
  <field name="email2">
     <field-validator type="required">
          <message>You must enter a value for email2.</message>
      </field-validator>
     <field-validator type="email">
          <message>Not a valid e-mail2.</message>
      </field-validator>
  </field>

если электронная почта пуста или недействительна, email2 не будет проверен

http://struts.apache.org/2.x/docs/validation.html

«Отказ определенного валидатора, помеченного как короткое замыкание, помешает оценке последующих валидаторов»

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