org.zkoss.zkmax.bind
Class FormBeanValidator

java.lang.Object
  extended by org.zkoss.bind.validator.AbstractValidator
      extended by org.zkoss.zkmax.bind.FormBeanValidator
All Implemented Interfaces:
Validator

public class FormBeanValidator
extends AbstractValidator

A 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 by AbstractValidator.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, where prefix is an argument of the message name(prefix+property) for a property. Because of the message name is shared between same ValidationMessages, that is same Binder, 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
FormBeanValidator()
           
 
Method Summary
protected  java.lang.Class getBeanClass(ValidationContext ctx, java.lang.Object base)
          Get the bean class of the base object.
protected  javax.validation.Validator getValidator()
           
protected  void handleConstraintViolation(ValidationContext ctx, java.lang.String key, java.util.Set<javax.validation.ConstraintViolation<?>> violations)
          Handle hibernate ConstraintViolation.
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

FormBeanValidator

public FormBeanValidator()
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.

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 -

handleConstraintViolation

protected void handleConstraintViolation(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 message
violations -
Since:
6.0.1

getBeanClass

protected java.lang.Class getBeanClass(ValidationContext ctx,
                                       java.lang.Object base)
Get the bean class of the base object.

Parameters:
ctx - the validation context
base - the base object
Returns:
the bean class of base object, never null

validate

public void validate(ValidationContext ctx)


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