...
Pierwszy argument funkcji create musi być taki sam, jak id walidatora. Drugim argumentem jest obiekt implementujący metodę callback, która jest wywoływana przy dodaniu błędu w walidatorze.
Komunikat błędu lub potwierdzenia walidacji
Warning |
---|
Funkcja jeszcze niedostępna. |
Możliwe jest określenie w PWE komunikatu błędu walidacji oraz komunikatu potwierdzenia akceptacji formularza pomimo błędu walidacji. Aby w PWE wyświetlone zostały te pola należy w builderze walidatora określić, jakie typy komunikatów mogą zostać skonfigurowane.
Code Block |
---|
language | java |
---|
linenumbers | true |
---|
|
@Validator
public class PeselValidator
{
private final String PESEL_REGEX = "^\\d{11}$";
@Define
public void definition( ValidatorDefinitionBuilder builder )
{
builder
.id( "pesel-validator" )
.name( "validator.pesel" )
.description( "validator.pesel.desc" )
.category( Categories.TEST )
.messageTypes( ValidatorMessage.CONFIRMATION, ValidatorMessage.ERROR ) // możliwe będzie skonfigurowanie komunikatu potwierdzenia oraz błędu walidacji
.parameter()
.id( "pesel_param" )
.name( "validator.pesel.parameter.name" )
.description( "validator.pesel.parameter.desc" )
.type( Types.VARIABLE)
.create();
}
//Metoda walidująca
public void validate( @Param( value = "pesel_param" ) Variable pesel, ValidationErrors errors,
Translator translator )
{
boolean isPesel = Pattern.matches( PESEL_REGEX, (String) pesel.getValue() );
if ( isPesel == false )
{
errors.add( translator.getMessage( "validator.pesel.invalid" ), pesel.getId() );
}
}
} |
Enum
Javadoc |
---|
displayValue | ValidatorMessage |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.ValidatorMessage |
---|
|
określa, które z komunikatów mogą zostać skonfigurowane w PWE. Komunikaty te działają jak parametry typu String, a więc możliwe jest używanie w nich wartości zmiennych, funkcji itd.W metodzie execute walidatora możliwe jest pobranie dwóch nowych obiektów:
Javadoc |
---|
displayValue | DefinedConfirmation |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.error.DefinedConfirmation |
---|
|
- obiekt przechowujący tytuł i tekst potwierdzenia Javadoc |
---|
displayValue | DefinedError |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.error.DefinedError |
---|
|
- obiekt przechowujący tekst błędu
Obiekty te należy samemu dodać do błędów oraz potwierdzeń walidacji. Przykładowe użycie:
Code Block |
---|
|
public void validate( @Param( value = "param" ) Variable param, ValidationErrors errors,
Translator translator, DefinedError error, DefinedConfirmation confirmation )
{
String value = param.getValue().toString();
if ( /* warunek - błąd walidacji */ )
{
errors.add( error );
}
else if ( /* warunek - mimo błędu zapytanie o potwierdzenie akceptacji zadania */ )
{
errors.addConfirmation( confirmation );
}
} |