2010-06-14 4 views
2

Struts 2 응용 프로그램이 있는데 유효성 검사가 제대로 작동하고 필요한 필드의 유효성을 검사하고 적절한 오류 메시지를 throw합니다. 문제는 매우 구체적인 위치, 즉 문자 번호 5838에 있습니다! 내 validation.xml 파일에서Struts 2 유효성 검사의 이상한 동작

가 나는 다양한 분야 그들 중 하나가

<field name="idState"> 
     <field-validator type="requiredstring"> 
     <param name="expression"><![CDATA[ 
      idNumber == null || idNumber.trim().length() == 0 
     || (idState != null && idState.trim().length() > 0) 
      ]]></param> 
     <message>Please enter your State.</message> 
     </field-validator> 
    </field> 

이며, 정의 (내 코드 형식을 용서해주십시오!) 기술적으로 내가

"Please enter your State." 
과 같은 오류 메시지가한다

내 오락에 나는 단지 받고있다

"Please enter yo". 

그리고 이것 위치 5838에서 발생합니다 (즉, 오류 메시지가 잘립니다). 내가 태그에 공백을 추가 할 경우

는 지금은

"Please enter y". 

내가이는 5838. 모든 메시지 후이 제대로 표시되기 전에 위치에서 발생하는 것으로 나타났습니다 얻을 수있다.

무슨 일이 일어나는지 실마리가 있습니까?

+1

이 문제는 유효성 검사기가 아닌 오류 메시지와 관련이 있습니까? 문자 5838은 무엇입니까? – Tarski

답변

0

이 특정 유효성 검사기와 관련된 문제는 아닌 것 같습니다. 전체 validation.xml 파일을 구문 분석하는 데 문제가있는 것처럼 들립니다. 어쩌면 오류 메시지가 읽기 버퍼의 중간에 있기 때문에 오류 메시지가 손상되었을 수도 있습니다.

나에게도 비슷한 일이 발생했으며 UTF-8이 아닌 파일에서 UTF-8 문자가 발생했습니다. 내 조언은 가능한 모든 구문 분석 문제에 대한 전체 파일을 확인하는 것입니다, 물론 위치 5838 후에.