Package org.zkoss.zkmax.bind
Class FormBeanValidator
- java.lang.Object
-
- org.zkoss.bind.validator.AbstractValidator
-
- org.zkoss.zkmax.bind.FormBeanValidator
-
- All Implemented Interfaces:
org.zkoss.bind.Validator
public class FormBeanValidator extends org.zkoss.bind.validator.AbstractValidatorA JSR 303 compatible validator for a form-binding. Notice : Before use this validator, you have to configure your environment (depends on the implementation you chosen). Here is a article Integrate ZK with JSR 303: Bean Validation talks about how to set up JSR 303 in ZK with Hibernate implementation. It validates all the saving properties of a bean and sets the invalid message byAbstractValidator.addInvalidMessage(ValidationContext, String, String). To use this class, you have to add@validator('formBeanValidator',prefix='p_')or@validator('org.zkoss.zkoss.bind.FormBeanValidator',prefix='p_')to the form-binding, whereprefixis an argument of the message name(prefix+property) for a property. Because of the message name is shared between sameValidationMessages, that is sameBinder, you have to provide a unique prefix for every FormBeanValidator in same binder. Example<grid width="600px" form="@id('fx') @load(vm.user) @save(vm.user,after='save') @validator('formBeanValidator',prefix='p_')"> <textbox value="@bind(fx.firstName)"/> <label value="@load(vmsgs['p_firstName'])"/> </grid>- Since:
- 6.0.1
- Author:
- dennis
-
-
Constructor Summary
Constructors Constructor Description FormBeanValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.ClassgetBeanClass(org.zkoss.bind.ValidationContext ctx, java.lang.Object base)Get the bean class of the base object.protected javax.validation.ValidatorgetValidator()protected voidhandleConstraintViolation(org.zkoss.bind.ValidationContext ctx, java.lang.String key, java.util.Set<javax.validation.ConstraintViolation<?>> violations)Handle hibernate ConstraintViolation.protected voidsort(java.util.List<javax.validation.ConstraintViolation<?>> viloations)Sort the violations, make multiple violation order more predictable.protected java.util.Set<javax.validation.ConstraintViolation<?>>validate(java.lang.Class clz, java.lang.String property, java.lang.Object value)Validate the valuevoidvalidate(org.zkoss.bind.ValidationContext ctx)
-
-
-
Method Detail
-
getValidator
protected javax.validation.Validator getValidator()
-
validate
protected java.util.Set<javax.validation.ConstraintViolation<?>> validate(java.lang.Class clz, java.lang.String property, java.lang.Object value)Validate the value- Parameters:
clz- the class of beanproperty- the property of beanvalue- the value to be validated.- Returns:
- the ConstraintViolation set.
-
validate
public void validate(org.zkoss.bind.ValidationContext ctx)
-
sort
protected void sort(java.util.List<javax.validation.ConstraintViolation<?>> viloations)
Sort the violations, make multiple violation order more predictable. By default, sort it by the constraint name.- Parameters:
viloations-
-
handleConstraintViolation
protected void handleConstraintViolation(org.zkoss.bind.ValidationContext ctx, java.lang.String key, java.util.Set<javax.validation.ConstraintViolation<?>> violations)Handle hibernate ConstraintViolation. By default, it adds to invalid messages.- Parameters:
ctx-key- the key of messageviolations-- Since:
- 6.0.1
-
getBeanClass
protected java.lang.Class getBeanClass(org.zkoss.bind.ValidationContext ctx, java.lang.Object base)Get the bean class of the base object.- Parameters:
ctx- the validation contextbase- the base object- Returns:
- the bean class of base object, never null
-
-