из Spring Webflow Documentation :
- Существует два способа программной проверки модели.Во-первых, реализовать логику проверки в вашем объекте модели.Второе - реализовать внешний валидатор.Оба способа предоставляют вам ValidationContext для записи сообщений об ошибках и доступа к информации о текущем пользователе .
Просто создайте открытый метод с именем validate${state}
, где${state}
- это идентификатор вашего состояния просмотра, в котором вы хотите запустить проверку (в вашем примере):
<view-state id="finish" view="finish" model="myform">
<transition on="submit" to="goToFinish" bind="true" validate="true" />
</view-state>
В качестве средства проверки по умолчанию используется открытый метод в объекте модели myform
:
public void validateFinish( ValidationContext context ) {
...
context.getUserPrincipal() // current user
...
}
A ValidationContext
позволяет получить MessageContext
для записи сообщений во время проверки.Он также предоставляет информацию о текущем пользователе, например, о userEvent
и идентификаторе Principal
текущего пользователя.
От ValidationContext
API:
// The current user event that triggered validation.
java.lang.String getUserEvent()
// The current user.
java.security.Principal getUserPrincipal()
// Obtain the value entered by the current user in the UI field bound to the property provided.
java.lang.Object getUserValue(java.lang.String property)