Pregunta

Tengo rayas: Etiqueta de enlace en una JSP con un atributo de evento:

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

Esto desencadena la validación a gatillo de propiedades anidados:

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

Sin embargo, esto estado bien si los valores reales es la validación no están presentes, pero que están presentes en el html y al depurar el grano. ¿Por qué el rayas:? Eslabón de gatillo este Listado Si lo cambio a un rayas:. Presentar entonces está bien

Gracias,

David

¿Fue útil?

Solución

La razón por la que está siendo activado se debe a que las rayas: presentar debe tener los campos del formulario, por lo que los campos se transmiten al servidor cuando se envía el formulario. Con el enlace, no obtiene ningún campo a no ser que se agregan como parámetros de enlace.

Se puede solucionar este problema de dos maneras, en función:

¿Quieres aquellos campos presentes en el grano cuando se hace clic en el enlace? A continuación, tendrá que llenar el vínculo con los parametros por lo que se añadirán estilo de cadena de consulta GET:

<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 otro lado, si usted no los necesita en su frijol para ese evento, puede indicar a sus @ValidateNestedProperties ignorar este caso:

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

A continuación, la validación no se ejecuta en el showTab2Link evento a menos que realmente se suministra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top