Nein, da ist wohl was "vergessen" worden bei der Implementierung des Controls... :-X
Ein Workaround ist ein kleines SSJS Snippet, das im beforeRenderResponse einfach die Validierung der Events des UIFileDownloadControls deaktviert.
<xp:this.beforeRenderResponse>
<![CDATA[#{javascript:
/***
* disable validation for UIFileDownload control
*
* @param UIFileDownload component
* @author Sven Hasselbach
* @category SSJS
* @category UI
* @version 0.2
*/
function disableFileDownloadValidation( fDownload:com.ibm.xsp.component.UIFileDownload ){
if( fDownload === null )
return;
rekDisableFileDownloadValidation( fDownload );
}
function rekDisableFileDownloadValidation( component:javax.faces.component.UIOutput ){
try{
var children:java.util.List = component.getChildren();
var it:java.util.Iterator = children.iterator();
var curChild:javax.faces.component.UIOutput;
while( it.hasNext() ){
curChild = it.next();
if( typeof( curChild ) === 'com.ibm.xsp.component.xp.XspEventHandler' )
curChild.setDisableValidators( true );
rekDisableFileDownloadValidation( curChild );
}
}catch(e){}
}
disableFileDownloadValidation( getComponent( 'fileDownload1' ) );
}]]>
</xp:this.beforeRenderResponse>
Einfach die Komponente anpassen, die im Funktionsaufruf hinterlegt ist (-> 'fileDownload1' )