Frage

Ich habe Streifen: Link-Tag in einer jsp mit einem Ereignisattribut:

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

Dies löst die Validierung Trigger auf verschachtelte Eigenschaften:

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

Dies würde jedoch in Ordnung gewesen, wenn die tatsächlichen Werte ist es Validierung nicht vorhanden sind, aber sie sind innerhalb des HTML und wenn die Bohne debuggen. Warum sollte der Streifen: Link Auslöser dieser
Wenn ich es zu einem Streifen ändern. Vorlegen, dann ist es in Ordnung

Danke,

Dave

War es hilfreich?

Lösung

Der Grund, es ausgelöst wird ist, weil die Streifen: einreichen müssen die Felder in der Form haben, so dass diese Felder an den Server übertragen werden, wenn das Formular abgeschickt wird. Mit dem Link, bekommt man nicht alle Felder, wenn Sie sie als Link Parameter hinzuzufügen.

Sie können diese eine von zwei Arten beheben, abhängig:

Haben Sie diese Felder auf der Bean vorhanden möchten, wenn der Link angeklickt wird? Dann müssen Sie die Verbindung mit dem params füllen, so dass sie GET-Abfrage-String-Stil hinzugefügt werden werden:

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

Auf der anderen Seite, wenn Sie brauchen sie nicht in Ihrem Bean für dieses Ereignis können Sie Ihr @ValidateNestedProperties sagen dieses Ereignis zu ignorieren:

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

Dann wird die Validierung nicht auf den Fall showTab2Link ausgeführt werden, wenn es tatsächlich geliefert wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top