2012-02-29 2 views
1

GWT 응용 프로그램에서 필드의 클라이언트 측 유효성 검사를 수행하는 방법을 제안 해 주시겠습니까?프록시 엔터티에서 클라이언트 측에서 직접 필드 유효성 검사를 수행하는 방법은 무엇입니까?

필자는 포커스를 잃은 후에 필드의 값을 확인하는 것에 대해 이야기하고 있으므로 사용자에게이를 고칠 필요가 있음을 알릴 수 있습니다.

RequestFactory를 사용하고 있기 때문에 혼란 스럽습니다. JSR 303이 참조하는 클라이언트 측에 진짜 콩이 없기 때문에 혼란 스럽습니다.

플러스 @NotNull 또는 @Size 제약을 넘어서고 싶습니다. 예를 들어 이메일이 올바르게 입력되었는지 또는 게시 주소에 건물 번호가 포함되어 있는지 확인할 수 있기를 원합니다.

라이브러리 및 코드 샘플 링크는 매우 유용합니다.

답변

2

즉석 검증 - Regex 및 ChangeListener는 친구입니다.

텍스트 상자 필드의 변경 리스너를 등록하십시오.

허용되는 전자 메일 주소의 내용을 정규식으로 수행하십시오.

http://www.regular-expressions.info/email.html

myTextBox.addChangeListener(new ChangeListener() { 
    void onChange(Widget sender) { 
     if(!sender.getValue().matches("^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,6}$")) { 
     sender.setFocus(); 
    } 
} 

정규식뿐만 아니라 JSR 303 검증을 위해 작동합니다.

@Pattern("^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,6}$") 
private String sender; 

마지막으로, 나는 확장하고 AbstractGwtValidatorFactory을 사용자 지정하여 GWT 클라이언트 (필요 없음 서버) 내에서 직접 JSR 303 검증 작업을 수행하는 방법을 설명하는 this excellent blog post을 발견했습니다.