2012-01-26 1 views
0

어쩌면 이것은 경계가 아니라 질문 일 것입니다. 나는 잠시 동안 내 머리를 때리고 좋은 결과를 얻지 못했고 그 이유에 대해 Google에서 검색하면서 관련 힌트를 찾지 못했다는 사실에 놀랐다.JSR-303 bean 유효성 검사에서 회원 vars의 이름을 특정 방식으로 지정해야하는 이유는 무엇입니까?

분명히 주석 기반 Bean 유효성 검사는 멤버 var가 일반적으로 대소 문자 변형을 사용하여 설정자와 동일하게 지정되어야합니다.

누구나이 컨벤션이 존재하는 이유를 설명하고 이상적으로는 spec/docs에서이 요구 사항을 언급하는 어딘가를 가리킬 수 있습니까?

@ManagedBean 
@SessionScoped 
public class RantBean implements Serializable{ 

    private static final long serialVersionUID = 1L; 

    /*** 
    * if this member var is not called "name", these validations will never fire 
    * calling them things like "mName", or "_name" will result in no error AND no invocation 
    * of the validations. 
    */ 
    @NotEmpty (message = "cannot be null") 
    @Size (min = 2, max = 1000) 
    private String name; 

    public void setName(String name){ 
     this.name = name; 
    } 
    public String getName(){ 
     return this.name; 
    } 
} 

내 아마도 순진 본능 세터에 주석을 넣어 또는 어쩌면 나에게 주입 및/또는 자신을 내 세터 내에서 유효성 검사를 호출하고 FacesContext에 FacesMessages를 추가 할 수 있도록하는 것입니다. 왜 이것이 나쁜 생각입니까 | JSR-303 impl (엄격한 명명 규칙)이 바람직한 이유는 무엇입니까?

답변