The ConditionValidator is a special built-in panel validator which allows or prevent from panel switching depending on IzPack conditions.

It evaluates all conditions which ID start with "conditionvalidator". In case one of them evaluates to false the panel switching is prevented in graphical mode. In text mode the installation is aborted instead.

Data Validator Example
    <condition type="or" id="conditionvalidator.iscompatibleupgrade">
        <condition type="ref" refid="isNew"/>
        <condition type="ref" refid="isCompatibleUpgrade"/>

    <panel classname="TargetPanel">
      <validator classname="com.izforge.izpack.installer.validator.ConditionValidator"/>

The messagebox popping up if the condition is not fulfilled can be translated:

    <res id="CustomLangPack.xml_eng" src="i18n/customLangPack.xml_eng"/>
    <res id="CustomLangPack.xml_deu" src="i18n/customLangPack.xml_deu"/>

The id of the message is constructed from the id of the failing condition and the suffix ".error.message". In the example above the id will be "conditionvalidator.iscompatibleupgrade.error.message":

    <str id="conditionvalidator.iscompatibleupgrade.error.message" txt="Update is not compatible with the chosen previous installation"/>

If no message with the appropirate id is found, the message id will be displayed instead.

<validator> - Attributes

The classname must be set to  "com.izforge.izpack.installer.validator.ConditionValidator"noneyes

A valid condition ID. The ConditionValidator will be executed only, if this optional condition evaluates to true.