I have a wizard with multiple steps (every step with its own form). I want the user only to be able to go to the next step if he has filled in a particular field on a form. How to do that.
Set "getConfiguredMandatory()" of that field to "true". Then, when the form is stored in the execDeactivate() method of your step, the form is validated automatically and a message is shown to the user. Technically, a VetoException is thrown which stops the wizard from advancing one step.
If you do not want to store the form (yet), as I assume by your last question, call the validation manually:
@Override
protected void execDeactivate(int stepKind) throws ProcessingException {
if (stepKind == IWizardStep.STEP_NEXT) {
getForm().validateForm(); // may throw a VetoException
}
}