Pergunta

Eu tenho Stripes: Link Tag em um JSP com um atributo de evento:

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

Isso desencadeia a validação para desencadear propriedades aninhadas:

    @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")
}) 

No entanto, isso seria bom se os valores reais que sua validação não estivessem presentes, mas eles estão presentes no HTML e ao depurar o feijão. Por que as listras: o link desencadeia isso?
Se eu alterar para uma listras: envie, tudo bem.

obrigado,

Dave

Foi útil?

Solução

O motivo pelo qual está sendo acionado é porque as listras: o envio devem ter os campos no formulário, para que esses campos sejam transmitidos ao servidor quando o formulário é enviado. Com o link, você não obtém campos, a menos que os adicione como parâmetros de link.

Você pode consertar esta de duas maneiras, dependendo:

Deseja que esses campos presentes no feijão quando o link é clicado? Em seguida, você precisará preencher o link com os parâmetros para que eles sejam adicionados, obtenha o estilo de string de consulta:

<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>

Por outro lado, se você não precisar deles em seu feijão para esse evento, poderá dizer às suas proportistas @Validateretested para ignorar esse evento:

@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")
}) 

Em seguida, a validação não será executada no evento ShowTab2Link, a menos que tenha sido fornecido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top