@Override public void validate(Form<?> form) { FormComponent[] components = getDependentFormComponents(); String strFromAmount = String.valueOf(components[0].getInput()); String strToAmount = String.valueOf(components[1].getInput()); String strRate = String.valueOf(components[2].getInput()); String fromCurrency = null; String toCurrency = null; if (components.length > 3) { fromCurrency = String.valueOf(components[3].getInput()); toCurrency = String.valueOf(components[4].getInput()); } if ((fromCurrency != null && toCurrency != null) && fromCurrency.equals(toCurrency)) form.error( getLocalizer() .getString( "forex.error.fromSameAsTo", this.getDependentFormComponents()[0].getPage())); // check if percentage from amount and/or percentage to amount equal // "0" if (PortalUtils.exists(strFromAmount) && "0".equals(strFromAmount)) form.error( getLocalizer() .getString( "forex.fromAmount.zero", this.getDependentFormComponents()[0].getPage())); if (PortalUtils.exists(strToAmount) && "0".equals(strToAmount)) form.error( getLocalizer() .getString("forex.toAmount.zero", this.getDependentFormComponents()[0].getPage())); if (form.hasError()) return; // if (!PortalUtils.exists(strFromAmount)) { // components[0].setModelObject((new Long(1))); // } // if (!PortalUtils.exists(strToAmount)) // components[1].setModelObject(new Long(1)); }