GWT

GXT maxlength 설정

카리스킴 2012. 9. 28. 11:22

  사용해 보면 알겠지만 GXT 2.2.5 버전에서 TextField 에 setMaxLength()를 사용하여 입력의 길이를 제한하려고 하면

입력제한은 되지 않고 Validation만 정한 숫자로 된다는 것을 알 수 있다. 즉 실제로 입력값 길이 제한이 아니라

validation 길이에만 적용이 되는 것이다.

 

  역시 구글링의 결과 마침내 해결책을 찾아 내었다. 기존 TextField 클래스 중 몇몇 메소드를 overrride 하여 처리해준다.

 

searchKeywordTextField = new TextField<String>() {
   
    @Override
        public void setMaxLength(int m) {
          super.setMaxLength(m);
          if (rendered) {
            getInputEl().setElementAttribute("maxLength", m);
          }
        }

        @Override
        protected void onRender(Element parent, int index) {
          super.onRender(parent, index);
          getInputEl().setElementAttribute("maxLength", getMaxLength());
        }   
   
  };

 

p.s ) 여기서 Element 클래스는

 

 import com.google.gwt.user.client.Element; 를 넣어준다.