Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Adnotację 
    Javadoc
    displayValue@Validator
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.workflow.form.validator.annotation.Validator
     (jeżeli walidator nie jest definiowany we wtyczce, musi on pochodzić z pakietu com.suncode)
  2. Publiczną metodę oznaczoną adnotacją 
    Javadoc
    displayValue@Define
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.component.annotation.Define
     z jednym parametrem
    Javadoc
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.workflow.form.validator.ValidatorDefinitionBuilder
  3. Publiczną metodę o nazwie validate, która odpowiada za przeprowadzenie walidacji formularza.

Walidator może również dostarczać skrypt, który buduje wygląd parametrów podczas jego definiowania w PWE. W tym celu należy dodać kolejną adnotację dla klasy 

Javadoc
displayValue@ComponentsFormScript
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.component.annotation.ComponentsFormScript
 z przekazaną ścieżką do skryptu (z classpath).

Przykładowa definicja przedstawiona jest poniżej:

Code Block
languagejava
linenumberstrue
@Validator
@ComponentsFormScript( "path/example-form.js" )
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 )
            .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() );
        }
    }
}

...