In a larger project there are a lot of forms to fill in, each form has many fields with validators and converters. During the development of the workflow it was really helpful to disable all validators at once by using the setDisableValidators() method of the facesContext.
To control the behaviour I have added an URL parameter which is checked in the afterRestoreView event. If you open the XPage in the format
http://hostname/db.nsf/xPage.xsp?noValidators=true
all validators will be disabled. Here is a small example XPage:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.afterRestoreView>
<![CDATA[#{javascript:
if( param.containsKey("noValidators") ){
facesContext.setDisableValidators(true);
}else{
facesContext.setDisableValidators(false);
}
}]]>
</xp:this.afterRestoreView>
<xp:inputText id="inputText1" required="true" />
<xp:br />
<xp:button value="Send" id="buttonSend">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete" immediate="false" save="true" />
</xp:button>
<xp:br />
<xp:messages id="messages1" />
</xp:view>
This makes developers life easier!