tomcat - 如何在 Tomcat 中使用 bean 验证?

标签 tomcat bean-validation

有什么方法可以在不使用 TomEE 的情况下在 Tomcat 中使用 bean 验证?

欢迎任何建议。谢谢

(更新)

我已将以下内容包含到我的 pom.xml 中。

<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>

但是,以下 JSF 页面在 Tomcat 中不显示验证错误消息。

<h:form id="validateID">
    <h:outputLabel for="id" value="ID : " title="id" />
        <h:inputText id="myid" value="#{validationDemoManagedBean.myid}"
        title="id" tabindex="8" size="20">
        </h:inputText>
        <h:message  for="myid" style="color:red" />
        <h:commandButton value="Validate" type="submit" />
</h:form>

我们的 validationDemoManagedBean 支持 bean 具有以下内容

@ManagedBean
@SessionScoped
public class ValidationDemoManagedBean implements Serializable {

@Pattern(regexp = "\\d{7}\\(\\d{1}\\)", message = "Must in pattern 9999999(9)")
private String myid = "";

. . . 
}

我们没有在 faces-config.xml 中指定任何默认验证器。

当此应用程序在 TomEE 中运行并且用户输入任何无效 ID 文本并单击“验证”按钮时,应该能够显示验证错误消息。但是,这在 tomcat 中不起作用。我在部署到 Tomcat 时是否遗漏了什么?

最佳答案

Bean Validation 不依赖于 JavaEE,您只需将 Hibernate Validator 等提供程序的 JAR 添加到您的应用程序类路径或服务器的“lib”目录中。对于 Hibernate Validator,您可以了解有关所需依赖项的更多信息 here .另请参阅此 FAQ entry了解有关在 Tomcat 6 上使用 Hibernate Validator 5 的更多信息。

关于tomcat - 如何在 Tomcat 中使用 bean 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24902754/

相关文章:

java - 我无法启动 apache ODE

session - Tomcat servlet 同步

java - 在方法中使用@AssertTrue 时,方法在验证(Bean Validation)期间被调用 4 次

java - Bean验证: Complex message value resolution - but how?

java - 如何处理 REST Web 服务中的资源验证?

templates - 导入的包在 Play 中不可用!框架模板

java - Spring Boot是否自动解析javax和hibernate验证注解中的消息键

java - 使用 Tomcat 提供所有 Web 内容

java - 静态资源(图片)Tomcat或Nginx服务器

spring - 如何将 application.properties 外部化到 Spring Boot 中的外部文件系统位置?