Я не мог заставить работать Java Bean Validation (JSR-303). Он не выдает ошибок и обрабатывает метод действия. Я помещаю один символ в «name» inputText, он принимает, и выполняется метод process () (аннотация размера не применяется).
Когда я помещаю один символ, я ожидаю, что метод My.Process () не будет выполняться, я не прав? Есть ли какая-то конфигурация, которую я упускаю из виду, чтобы проверка работала?
В каталоге WEB-INF / lib моего проекта у меня есть validation-api-1.0.0.GA.jar, hibernate-validator-4.2.0.Final.jar.
Сервер приложений: Tomcat 7.0.25 (внутри папки Tomcat Lib у меня есть myfaces-api-2.1.5.jar и myfaces-impl-2.1. 5.jar).
IDE: Eclipse Helios SR2
Я получаю сообщение «ИНФОРМАЦИЯ: поддержка проверки компонентов MyFaces отключена» с консоли, но у меня есть банки, как я указал.
фасоль
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.validation.constraints.Size;
@ManagedBean(name="my")
@RequestScoped
public class MyBean implements Serializable {
@Size(min=3, message="ERROR")
private String name;
public String process() {...}
...getters, setters, etc...
}
Форма JSF
<h:form>
<h:messages />
<h:inputText value="#{my.name}" />
<h:commandButton value="Save" action="#{my.process}" />
</h:form>
Я также пробовал:
@NotEmpty, @NotBlank,
@ org.hibernate.validator.constraints.Length (min = 3, message = "ERROR"),
но они тоже не работают.
<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId></dependency>
в мой pom.xml - person devsnd   schedule 21.03.2012