JSF 2 어플리케이션을 작성 중이며 faces-page 대신 bean에서 양식 유효성 검증을 사용하려고합니다. 또한 .properties 파일을 사용하여 메시지를 저장하고 싶습니다.bean 유효성 검증을위한 사용자 정의 유효성 검증 메시지
나는 this question을 보았지만 올바르게 등록 정보 파일을 가지고 있다고 생각하지 않습니다.
의 난 'DEV'라는 패키지의 사용자라는 빈 있다고 가정 해 봅시다 : 내가 사용 나는 또한 WEB-INF/클래스에서 파일 'ValidationMessages.properties'를 만든
@ManagedBean
@SessionScoped
public class User implements Serializable {
@Pattern(pattern="[email protected]+\\.[a-z]+", message="{dev.User.emailAddress}")
private String emailAddress;
// getter/setter
}
(
dev.User.emailAddress=Custom invalid email message
그리고 내보기 (user.xhtml)는 다음과 같습니다 : 넷빈즈 7.0.1)을 ValidationMessages.properties에서
내가이 키/값 라인을 가지고 파일
내가 잘못된 이메일 주소를 입력하고 버튼을 누르면<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>User registration</title>
</h:head>
<h:body>
<h:form>
<h:inputText id="emailAddress" value="#{user.emailAddress}" required="true" />
<h:message for="emailAddress" />
<h:commandButton value="Ok" action="null" />
</h:form>
</h:body>
, 웹 페이지에서 확인 메시지를 읽습니다
{dev.User.emailAddress}
대신
Custom invalid email message
문제가 될 수 있을까 web.xml에 등록 정보 파일을 등록하지 않았습니까?
Bean에서 required = "true"를 @NotNull로 전환해야합니다.
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
이 같은 BalusC's blog 설명 :이 삽입보다 내가해야 할 일이 있나요?
미리 감사드립니다.
/데니스
이상합니다. 어떤 bean 검증 구현 및/또는 어떤 servlet 컨테이너를 사용하고 있습니까? – BalusC
Glassfish 3.1 (Netbeans와 함께 제공)을 사용하고 있습니다. 빈 검증 구현이 무엇을 의미하는지 확신 할 수 없습니까? –