Pas*_*ent 16
以下是我正在使用的依赖项(使用Maven):
<dependencies>
<!-- Bean Validation API and RI -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
您可以从此存储库获取:
<repositories>
<repository>
<id>jboss</id>
<name>JBoss repository</name>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
Ond*_*žka 13
最新的依赖:
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.16.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这种传递性依赖于Bean Validation API,因此您不再需要这样做:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有关表达式语言和CDI支持的其他功能,您可能需要添加
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.1-b09</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>6.0.16.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这些都都在Maven Central Repo中,所以你不需要添加JBoss repo.
BTW这是我的示例便捷方法:
public static <T extends Object> void validate( T object ) throws MigrationException
{
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<T>> valRes = validator.validate( object );
if( ! valRes.isEmpty() )
{
StringBuilder sb = new StringBuilder("Validation failed for: ");
if( object instanceof Origin.Wise )
sb.append( ((Origin.Wise)object).getOrigin() );
else
sb.append(object);
for( ConstraintViolation<T> fail : valRes)
{
sb.append("\n ").append( fail.getMessage() );
}
throw new IllegalArgumentException( sb.toString() );
}
}
Run Code Online (Sandbox Code Playgroud)
该Origin.Wise有点像JAXB的@XmlLocation Locator.
| 归档时间: |
|
| 查看次数: |
21677 次 |
| 最近记录: |