org.zkoss.bind.validator
Class BeanValidator

java.lang.Object
  extended by org.zkoss.bind.validator.AbstractValidator
      extended by org.zkoss.bind.validator.BeanValidator
All Implemented Interfaces:
Validator
Direct Known Subclasses:
BeanValidator

public class BeanValidator
extends AbstractValidator

A JSR 303 compatible validator for a property-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 a single propertie of a bean and sets the invalid message by AbstractValidator.addInvalidMessage(ValidationContext, String).

To use this class, you have to add @validator('beanValidator') or @validator('org.zkoss.bind.validator.BeanValidator') to the property-binding

Example

<grid width="600px">
   <textbox id="tb" value="@bind(vm.person.firstName) @validator('beanValidator')"/>
   <label value="@load(vmsgs[tb])"/> 
</grid>
 
Note

It doesn't supports to validate a property of a form which properties are load from a bean, if you want to validate the form property of the bean, you could use org.zkoss.zkmax.bind.BeanValodator

Since:
6.0.0
Author:
dennis

Constructor Summary
BeanValidator()
           
 
Method Summary
protected  java.lang.Object[] getValidationInfo(ValidationContext ctx, java.lang.Object base, java.lang.String property)
          Get the bean class of the base object and property to validate.
protected  javax.validation.Validator getValidator()
           
protected  void handleConstraintViolation(ValidationContext ctx, java.util.Set<javax.validation.ConstraintViolation<?>> violations)
          Handle hibernate ConstraintViolation. by default, it add to invalid messages.
protected  void sort(java.util.List<javax.validation.ConstraintViolation<?>> viloations)
          Sort the viloations, 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 value
 void validate(ValidationContext ctx)
           
 
Methods inherited from class org.zkoss.bind.validator.AbstractValidator
addInvalidMessage, addInvalidMessage, addInvalidMessages, addInvalidMessages
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanValidator

public BeanValidator()
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 bean
property - the property of bean
value - the value to be validated.
Returns:
the ConstraintViolation set.
Since:
6.0.1

sort

protected void sort(java.util.List<javax.validation.ConstraintViolation<?>> viloations)
Sort the viloations, make multiple violation order more predictable. By default, sort it by the constraint name.

Parameters:
viloations -

getValidationInfo

protected java.lang.Object[] getValidationInfo(ValidationContext ctx,
                                               java.lang.Object base,
                                               java.lang.String property)
Get the bean class of the base object and property to validate.
By default, it returns the class of base object directly.

Parameters:
ctx - the validation context
base - the base object
property - the property to validate
Returns:
a object array, the first item is the bean class of base object, 2nd item is the tuned property regards to the bean class
Since:
6.0.1

handleConstraintViolation

protected void handleConstraintViolation(ValidationContext ctx,
                                         java.util.Set<javax.validation.ConstraintViolation<?>> violations)
Handle hibernate ConstraintViolation. by default, it add to invalid messages.

Parameters:
ctx -
violations -
Since:
6.0.1

validate

public void validate(ValidationContext ctx)


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo