Wednesday, 27 August 2014

Programmatic validation UI side

1.Class implements Validator{
2.    @Override
    public void validate(FacesContext facesContext, UIComponent uIComponent,Object newValue) throws ValidatorException {
       String val = String.valueOf(newValue);     
        if (val != null) {
            if (!getMethodResult(val)) {
                throw new ValidatorException(new FacesMessage("Name " + val + " already exists."));
            }
        }
    }

    public boolean getMethodResult(String name) {
        ViewObjectImpl vo = this.getAm().getVo1();
        RowQualifier rowQualifier = new RowQualifier(vo);
                rowQualifier.setWhereClause("Name='"+name+"'");
                Row[] rowsList = vo.getFilteredRows(rowQualifier);
                if(rowsList.length>0){
                        return false;
                    }
                return true;
    }

3. in jsff validator="#{backingBeanScope.myManagedBean.validate}"