...
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 )
.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() );
}
}
} |
Implementacja
...
funkcji walidującej
Zdefiniowana na serwerze akcja formularza musi zostać zarejestrowana i zaimplementowana po stronie przeglądarki. Rejestrację umożliwia klasa Jsdoc |
---|
property | jsdocWalidator musi posiadać metodę walidującą o nazwie validate. Metoda może posiadać następujące typy parametrów:- pojedynczy parametr walidatora - typ parametru musi być zgodny ze zdefiniowanym typem oraz musi być poprzedzony adnotacją
Javadoc |
---|
displayValue | @Param |
---|
property | javadoc.plusworkflow |
---|
className |
---|
|
...
...
...
pwfl.component.annotation.Param |
|
, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.component.Parameters |
---|
|
- zawiera wszystkie zdefiniowane parametry walidatora wraz z ich wartościami, jest to alternatywa dla pobierania parametru za pomocą wyżej wspomnianej adnotacji Javadoc |
---|
displayValue | @Param |
---|
property | javadoc.plusworkflow |
---|
className |
---|
|
...
language | js |
---|
linenumbers | true |
---|
...
com.suncode.pwfl.component.annotation.Param |
|
, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.error.ValidationErrors |
---|
|
- obiekt, w którym ustawiane są wszystkie błędy, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.ValidationContext |
---|
|
- kontekst walidacji, można z niego odczytać identyfikator procesu i zadania, których dotyczy ta walidacja, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.activity.ActivityContextMap |
---|
|
- obiekt przechowujący zmienne formularza wraz z aktualnymi wartościami oraz identyfikator procesu i zadania; jest on w całości tylko do odczytu, nie ma możliwości zmiany wartości zmiennych, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.component.ContextVariables |
---|
|
- zmienne kontekstowe dostępne w tym walidatorze. Więcej informacji tutaj, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.translation.Translator |
---|
|
- translator dla tego komponentu, dzięki któremu wiadomości zwracane przez walidator mogą być tłumaczone. Więcej informacji tutaj, Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.user.UserInfo |
---|
|
- obiekt zawierający informacje na temat użytkownika akceptującego zadanie.
W celu przerwania akceptacji zadania i wyświetlenia stosownego komunikatu należy dodać wiadomość do obiektu
Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.workflow.form.validator.error.ValidationErrors |
---|
|
. Jeżeli żadna wiadomośc nie zostanie dodana, to akceptacja zadania przejdzie do kolejnego etapu.Rejestracja walidatora we wtyczce
Jeżeli walidator jest definiowany we wtyczce to należy dodatkowo zaznaczyć, że wtyczka ta udostępnia komponenty. W tym celu należy w pliku suncode-plugin.xml dodać wpis:
...