public void validator() { // tag::validator[] Validator<String> validator = v -> { // <1> if (v.length() < 10) throw new ValidationException("Value must be at least 10 characters"); }; validator = Validator.create(v -> v.length() >= 10, "Value must be at least 10 characters"); // <2> validator = Validator.create(v -> v.length() >= 10, "Value must be at least 10 characters", "messageLocalizationCode"); // <3> // end::validator[] }
public void listing27() { // tag::listing27[] PropertyListing.builder(SUBJECT) // .withValidator(Validator.create(item -> item.getValue(ID) != null, "Id value must be not null")) // <1> .build(); // end::listing27[] }
public void validatable() { // tag::validatable3[] ValidatableInput<String> validatableInput = Components.input.string().validatable().build(); // <1> validatableInput.addValidator(Validator.max(100)); // <2> validatableInput.addValidator(Validator.email("Must be a valid e-mail address", "invalid.email.message.code")); // <3> validatableInput .addValidator(Validator.create(value -> value.length() >= 3, "Must be at least 3 characters long")); // <4> // end::validatable3[] // tag::validatable4[] try { validatableInput.validate(); // <1> } catch (ValidationException e) { // do something at validation failure } boolean valid = validatableInput.isValid(); // <2> // end::validatable4[] }
public void group4a() { // tag::group4a[] PropertyInputGroup group = Components.input.propertyGroup().properties(PROPERTIES) // .withValidator(DESCRIPTION, Validator.max(100)) // <1> .withValidator(ID, com.vaadin.data.Validator.from(id -> id != null, "Id must be not null")) // <2> // group validation .withValidator(Validator.create(propertyBox -> propertyBox.getValue(ID) > 0, "The ID value must be greater than 0")) // <3> .build(); // end::group4a[] }
public void group4() { // tag::group4[] final PathProperty<Long> ID = PathProperty.create("id", Long.class); final PathProperty<String> DESCRIPTION = PathProperty.create("description", String.class); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION); PropertyInputGroup group = Components.input.propertyGroup().properties(PROPERTIES) // .withValidator(DESCRIPTION, Validator.max(100)) // <1> .required(ID) // <2> .required(ID, "The ID value is required") // <3> .withValidator(Validator.create(propertyBox -> propertyBox.getValue(ID) > 0, "The ID value must be greater than 0")) // <4> .build(); // end::group4[] }
public void listing12() { // tag::listing12[] PropertyListing listing = Components.listing.properties(PROPERTIES) // .editable(true) // <1> .editorBuffered(true) // <2> .editorSaveCaption("Save item") // <3> .editorCancelCaption("Discard") // <4> .editable(ID, false) // <5> .editor(DESCRIPTION, new TextField()) // <6> .withValidator(Validator.create(pb -> pb.getValue(DESCRIPTION) != null, "Description must be not null")) // <7> .withValidator(DESCRIPTION, Validator.max(100)) // <8> .required(ID) // <9> .build(); // end::listing12[] }