Problem z odpowiedzią klr8 jest, że robisz nie ma żadnych informacji poza tekstem validationContext przekazanym do walidatora. Jeśli potrzebujesz innych informacji z przepływu, można spróbować ręcznie wyzwalać sprawdzanie poprawności:
<transition on="submit" to="isValid" validate="false">
<evaluate expression="someLogicIWantToDo(a,b,c)" />
<evaluate expression="booking.validate(bookingForm, messageContext)"/>
</transition>
<decision-state id="isValid">
<if test="messageContext.hasErrorMessages()" then="home" else="page2"/>
</decision-state>
Web-flow walidacji metody mogą wziąć albo MessageContext lub ValidationContext. Nie jestem pewien, jak uzyskać dostęp do sprawdzania poprawności kontekstu z Web Flow, aby ręcznie wyzwalać, jeśli metody sprawdzania poprawności mają wzorzec validationContext.
Czy podpis metody metody sprawdzania poprawności nie jest blokowany przez przepływ sieciowy? A co, jeśli potrzebujesz innych danych do przekazania? –
W tym podejściu projektowanie nie byłoby dobrym połączeniem walidacji i przetwarzania biznesowego – abhi