我缺少一些真正基本的东西(与EAR或EAR配置中的类加载相关)。我不明白,为什么我的JSR303验证和Hibernate验证不是从EAR内部触发的...如果我创建一个新的战争项目,它就会触发。
我正在Weblogic Server10.3上用Maven、JSF2.0、Open-JPA、EJB3.0建立一个新项目。我使用maven原型创建了所有项目。我有一个最终的EAR构建,它的结构如下:
在Web中,我有一个login.xhtml
username
和password
字段与TestMPB变量和具有依赖关系的POM映射:validation-api 1.0.0.ga,hibernate-validator 4.2.0.final…
页面支持bean的(TestMPB)变量有@patter
和@notempty
注释,但JSF验证阶段从不触发它们。JSF验证工作良好,但我想使用JSR303和Hibernate验证。
login.xhtml
包含以下impt行:
<h:messages layout="table" showDetail="false" showSummary="true"/>
<h:inputText class="textbox" id="userId" value="#{testMPB.userId}"></h:inputText>
<h:commandButton id="button" action="#{testMPB.login}" value="Login" ></h:commandButton>
TestMPB包含:
@Pattern(regexp = "^(?=.*[a-zA-Z])[a-zA-Z0-9_]{2,15}\\s*$", message = "userId invalid")
@NotEmpty(message = "userId empty")
private String userId = "";
public String login(){ System.out.println("User Login ::"+getUserId());
return "/web/ui/s/home/home.xhtml";
}
application.xml包含
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>ear</display-name>
<module>
<web>
<web-uri>web</web-uri>
<context-root>/NewAccountsWeb</context-root>
</web>
</module>
<module>
<ejb>ejb</ejb>
</module>
<library-directory>lib</library-directory>
</application>
对于调试,我确保:
login.xhtml
和testmpb.java集。required=true
),它可以工作并在h:message中显示消息。能想出什么办法来解决这个问题吗?
我能自己解决这个问题...
我在我的项目类路径中添加了slf4j-log4j12 1.6.4 jar,bean和hibernate字段级验证开始工作...jboss-logging-3.1.0.ga.jar也可能起作用...而且Log4j jar已经在类路径中。
看起来,为了日志记录,Hibernate Validator使用了一些日志记录API,一个支持一些日志记录解决方案的抽象层作为实现。因此,只要向类路径添加一个受支持的日志库,日志就会将任何日志请求委托给该提供者。
奇怪的是,在我的服务器日志中或在编译时没有错误,而Hibernate(或Bean JSR303)验证缺少日志依赖项...我在这上面浪费了3天时间,但很高兴它现在起作用了...
环境 Glassfish 3.1.2内置Hibernate-Validator 4.2。
我按照这个教程https://spring framework . guru/spring-boot-restful-API-documentation-with-swagger-2/生成了一个swagger文档。它可以工作,但是当我试图在bean中添加一些验证时,我在文档中找不到信息: 带有验证注释的我的实体: 这里,https://github.com/springfox/springfox/
我想从我的应用程序中提取DTO以将它们作为jar提供给层应用程序。 但我使用了Bean验证,所以DTO使用自定义约束进行注释。这种自定义注释对验证实现具有依赖性(链接)。 因此,我的DTO模块依赖于注释,而注释依赖于验证器,验证器依赖于DAO,然后是完整的核心应用程序。 有没有办法打破这种依赖循环?提供DTO jar而不依赖(或只提供bean验证API)的良好实践是什么? 谢谢
我正在使用spring(4.2.0.RELEASE)、hibernate validator(5.2.1.Final)和validation api(1.1.0.Final)对后端应用程序进行JSR验证,配置如下:, 但是没有一个JSR303注释在我的应用程序中工作。 注意:在POJO类上添加了JSR303注释,在服务类(使用POJO)上添加了@Validated注释,还尝试在方法级别添加@Val
我需要应用一个双值验证,这需要与圆周率匹配。我正在考虑使用@pattern(regex=“3.14159265359”)。这是使用Hibernate验证约束应用这样一个约束的最佳方式吗?谢谢
问题内容: 问题已经解决了这里,但没有工作,我(不相同的弹簧引导版本我猜)本 尝试编写自定义约束验证器代码,以在保留之前检查帐户电子邮件是否存在。 // ------------------------------------------------ -------------------------- // --------------------------------------------