【问题标题】:Different validation rules for different actions JSF不同动作的不同验证规则 JSF
【发布时间】:2012-08-13 13:31:36
【问题描述】:

我正在尝试实现如下所示的编辑/添加个人资料页面:

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

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

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

【问题讨论】:

    标签: validation jsf file-upload tomahawk


    【解决方案1】:

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

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

    其中 ctx 是 FacesContext 的当前实例。也许这对某人有帮助,这是一种解决方法,但它确实有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多