Domanda

Ho strisce: tag link in una JSP con un attributo evento:

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

Ciò fa scattare la convalida per grilletto sulle proprietà nidificati:

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

Tuttavia questo sarebbe stato bene se i valori effettivi è la convalida non sono presenti, ma sono presenti all'interno del codice HTML e durante il debug il fagiolo. Perché lo strisce:? Grilletto questo
Se cambio a uno strisce:. Presentare, allora è bene

grazie,

Dave

È stato utile?

Soluzione

Il motivo è in fase innescata è perché le strisce: presentare deve avere i campi del modulo, in modo da quei campi sono trasmessi al server quando il modulo viene inviato. Con il collegamento, non si ottiene nessun campo a meno che non aggiungerli come parametri di collegamento.

È possibile risolvere questo uno dei due modi, a seconda:

Vuoi che quei campi presenti sul fagiolo quando il link viene cliccato? Allora è necessario compilare il legame con i params in modo essi saranno aggiunti GET stile di query-string:

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

D'altra parte, se non li avete bisogno nel vostro fagioli per tale evento, si può dire ai tuoi @ValidateNestedProperties di ignorare l'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")
}) 

Poi la convalida non verrà eseguito sul showTab2Link evento a meno che in realtà è stato fornito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top