2012-08-13 86 views
0

我试图实现一个编辑/添加个人资料页面看起来如下:不同的验证规则JSF

  • 图像上传组件(战斧T:inputFileUpload)与上传按钮
  • 几个输入文本字段
  • 取消和保存按钮

至于说,是用于添加一个新的配置文件,以及编辑现有的这种形式。起初,我使用了两个元素,一个用于文本输入,一个用于上传组件。这样做的问题是,由于上传组件不支持Ajax /局部渲染,因此整个页面都会重新加载,并且文本输入的任何更改都会丢失。当我使用一个统一的文件时,当上传按钮被按下并且用户被迫在可能上传图像之前先填写所有输入时,在文本区域上触发验证。

我希望的行为是,如果textinputs没有改变,我仍然可以上传图片,同时正在对辅助bean进行更改并进行验证。只有当按下最终提交按钮时,才会触发未更改/空字段的验证。如何才能做到这一点?任何标准的场景/最佳实践方法为此或我必须实现valueChange监听器?谢谢你们提前和亲切的问候!

回答

0

问题解决了,我写了一个自定义的验证和检查,使用这种触发提交表单的动作:

ctx.getExternalContext().getRequestParameterValuesMap().containsKey("form:uploadButton"); 

其中CTX是FacesContext中的当前实例。也许这有助于某人,但它是一种解决方法,但它可以完成这项工作。