Полосы ссылка на событие запуск проверки, которая неверна

StackOverflow https://stackoverflow.com/questions/3006375

  •  25-09-2019
  •  | 
  •  

Вопрос

У меня есть полосы: тег ссылки в JSP с атрибутом событий:

<stripes:link href="${actionBean.context.currentStage.stripesForwardAction}"  addSourcePage="true" event="showTab2Link">

Это вызывает проверку, чтобы вызвать вложенные свойства:

    @ValidateNestedProperties({
    @Validate(field="county", required=true, minlength=2, maxlength=2, mask="\\d\\d"),
    @Validate(field="parish", required=true, minlength=3, maxlength=3, mask="\\d\\d\\d"),
    @Validate(field="holding", required=true, minlength=4, maxlength=4, mask="\\d\\d\\d\\d")
}) 

Однако это было бы хорошо, если фактические значения его валидации нет, но они присутствуют в HTML и при отладке бона. Почему полосы: ссылка триггер это?
Если я изменим его на полосы: отправьте, то это нормально.

Спасибо,

Дейв

Это было полезно?

Решение

Причина, по которой он срабатывает, это связано с тем, что полосы: отправка должны иметь поля в форме, поэтому эти поля передаются на сервер при отправке формы. С помощью ссылки вы не получаете никаких полей, если вы не добавите их как параметры ссылки.

Вы можете решить этот один из двух способов, в зависимости от:

Вы хотите, чтобы эти поля присутствовали на компонентах, когда ссылка нажата? Затем вам нужно заполнить ссылку с параматами, чтобы они были добавлены, получите стиль запросов.

<stripes:link href="${actionBean.context.currentStage.stripesForwardAction}"  addSourcePage="true" event="showTab2Link">
<stripes:param name="county" value="${actionBean.county}" />
<stripes:param name="parish" value="${actionBean.parish}" />
<stripes:param name="holding" value="${actionBean.holding}" />
link text
</stripes:link>

С другой стороны, если вам они не нуждаются в вашем бобовом бобе для этого события, вы можете сообщить вам @ValidateSestesproperties, чтобы игнорировать это событие:

@ValidateNestedProperties({
    @Validate(field="county", on="!showTab2Link", required=true, minlength=2, maxlength=2, mask="\\d\\d"),
    @Validate(field="parish", on="!showTab2Link", required=true, minlength=3, maxlength=3, mask="\\d\\d\\d"),
    @Validate(field="holding", on="!showTab2Link", required=true, minlength=4, maxlength=4, mask="\\d\\d\\d\\d")
}) 

Затем валидация не будет запускаться на событии ShowTab2Link, если он на самом деле не был предоставлен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top