0

我正在尝试实现一个编辑/添加配置文件页面,如下所示:

  • 带有上传按钮的图片上传组件(Tomahawk t:inputFileUpload)
  • 几个输入文本字段
  • 取消并保存按钮

如前所述,此表单用于添加新配置文件以及编辑现有配置文件。起初,我使用了两个元素,一个用于文本输入,一个用于上传组件。这样做的问题是,由于上传组件不支持 ajax/部分渲染,整个页面会重新加载,文本输入的任何更改都会丢失。当我使用统一时,当按下上传按钮并强制用户首先填写所有输入时,在文本字段上触发验证,然后才能上传图像。

我想要的行为是,如果文本输入没有改变,我仍然可以上传图片,同时将更改应用于支持 bean 并进行验证。只有在按下最终提交按钮时才应触发对未更改/空字段的验证。如何才能做到这一点?任何标准方案/最佳实践方法,还是我必须实现 valueChange 监听器?提前谢谢你们和亲切的问候!

4

1 回答 1

0

解决了这个问题,我编写了一个自定义验证器并检查了触发表单提交的操作:

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

其中 ctx 是 FacesContext 的当前实例。也许这对某人有所帮助,这是一种解决方法,但是可以完成工作。

于 2012-08-14T15:20:38.100 回答