当前位置: 首页 > 面试题库 >

条件Bean验证

壤驷坚
2023-03-14
问题内容

我在我的JSF项目中使用Bean验证。现在,我遇到了一种情况,在这种情况下,仅当验证先前的方法时,我才想验证方法。

我举一个例子:

@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }

if(isValidActivationCode()) {
    @AssertTrue(message="{alreadyActivated}")
    private boolean isAlreadyActivated() { ... }
}

由于我将收到每个参数的激活码,因此我想先对其进行验证。如果无效,将导致违规。如果是这样,我什至无法检查它是否已被激活(因为代码无效)。因此,是否有可能实现如上所述的任何功能(if语句的功能,我确实知道这是行不通的,但是它表明了我要完成的工作)。

提前致谢

更新资料

像Ravi K这样的解决方法提到:

@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }

@AssertTrue(message="{alreadyActivated}")
private boolean isAlreadyActivated() { return isValidActivationCode() ? ... : true; }

虽然我想知道,有没有一种干净的方法来解决这个问题?如果没有人很快提供答案,我将假定没有解决方案,并且我将接受Ravi K的解决方法作为此问题的答案。


问题答案:

好吧,我无法深入JSF注释方面,但是我很好奇为什么您不能简单地在isAlreadyActivated()中调用isValidActivationCode(),例如下面的内容,

@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }


@AssertTrue(message="{alreadyActivated}")
private boolean isAlreadyActivated() {

     if(isValidActivationCode()) {
           <Logic for isAlreadyActivated>
      )

}


 类似资料:
  • 我有一个关于Spring注释配置的问题。我有一颗豆子:

  • 列表字段中bean的条件验证。 我对bean验证有一个小问题。我想做一个条件验证,但是被验证的类有一个必须被验证的bean列表作为字段,这些bean的一些字段必须被条件验证。这里有一个示例代码: 我可以在子bean上做一个循环,并分别验证每个子bean,但错误中的路径是错误的 另外,我可以使用这样的解决方案:使用Hibernate Validator(JSR 303)进行跨域验证,但它似乎弄乱了与

  • ProblemModulesRegisterer匹配:-@ConditionalOnMissingBean(类型:org.springFramework.web.servlet.config.annotation.WebMVCConfigurationSupport;SearchStrategy:all)找不到任何Bean(OnBeanCondition) 因此,它找到和没有找到类型的bean 作

  • 我的bean中有两个字段 当字段key=“A”,“value”应该跟在其他“key”的特定Regex后面时,它可以是任何内容。 如何根据键定义此值验证。

  • 我一直在试用Vaadin 7。首先,我必须说明我对Vaadin是个安静的呆子,对JAVA Perstression不是很熟悉。因此,我试图学习bean验证以及如何使用它。我已经学习了几个教程,但是很难确定哪一个是Vaadin7的最新和正确的教程。尽管如此,我尝试下载并使用JPA容器和BeanValidator,但无法使其工作。下面是我正在使用的代码: 而且 classnotfound异常已消失,但

  • 我使用gradle和以下libs: