/* Constraint.java
Purpose:
Description:
History:
Tue Jun 28 13:42:37 2005, Created by tomyeh
Copyright (C) 2005 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zul;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;
/**
* A constraint.
* Instead of implementing this interface,
* you may use {@link SimpleConstraint} if applicable.
*
* <p>To have better responsiveness, you can handle all (or some) validation
* at the client by implementing an additional interface,
* {@link ClientConstraint}.
*
* <p>If you prefer to have a custom way to display
* the error message (other than the default error box).
* You can also implement {@link CustomConstraint}.
* Then, {@link CustomConstraint#showCustomError} is called instead of
* showing the default error box.
*
* <p>Since 5.0.0, {@link ClientConstraint} takes higher priority
* if both implemented.
*
* @author tomyeh
* @see CustomConstraint
* @see ClientConstraint
*/
public interface Constraint {
/** Verifies whether the value is acceptable.
* @param comp the component being validated
*/
public void validate(Component comp, Object value) throws WrongValueException;
}