我在我的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: