2009-11-18 3 views
4

저는 프로그래밍에 초보자이며 현재 주니어 프로그래머로 고용되어 있습니다. 현재 양식 중 하나에서 선택 태그의 유효성 검사에 문제가 있습니다. 내가 실제로하려는 것은 사용자가 양식을 제출하기 전에 하나의 항목이 선택되도록하는 것입니다.struts 2 프레임 워크에서 select 태그의 유효성을 검사하는 방법

내가 가지고있는 형태로;

<s:select list="assessmentTypes" headerKey="0" headerValue=" -- Select One --" 
      listKey="id" value="name" listValue="name" key="course.assessmenttype" 
      name="assessmenttype.id"/> 

나는 유효성에 대한 지식이 있지만 선택 목록에 대해 어떻게하는지 잘 모릅니다.

문자열을 사용하여 일반적인 유효성 검사를 시도했지만이 경우에는 필요하지 않다고 생각합니다. 예를 들면;

<field name="course.assessmenttype"> 
    <field-validator type="requiredstring"> 
     <message>Please Select a value</message> 
    </field-validator> 
</field> 

모든 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

1

하나의 옵션은 최소값이 설정된 int 밸리데이터를 사용하는 것입니다. 당신이 headerKey = 어떤 값을 0보다 큰

 <field name="course.assessmenttype"> 
      <field-validator type="int"> 
       <param name="min">1</param> 
       <message>Please Select a value to continue</message> 
      </field-validator> 
     </field> 
+0

이봐, 는 내가 제안을했지만, 여전히 실패로 끝나는. 식별자가 [0] 인 클래스 [com.sbcstnt.core.model.AssessmentType]의 개체 : 찾을 수 없음 감사합니다. – pundit

+0

필드의 유효성을 검사하고 있습니까? 확인 xml 파일의 필드 이름과 필드의 이름을 확인하십시오. –

1

설정 headerKey = "0" ""원하기 때문에

<field name="course.assessmenttype"> 
      <field-validator type="requiredstring"> 
       <param name="trim">true</param> 
       <message>Please Select a value to continue</message> 
      </field-validator> 
</field> 
0
<field name="course.assessmenttype"> 
      <field-validator type="regex"> 
     <param name="expression">assessmentTypes</param> 
     <message>Select a value to continue</message> 
    </field-validator> 
     </field> 
instead of assessmentTypes, you can directly mention the dropdown list values. Make sure that your validator XML file is in the format <ActionClassname>-validation.xml,which should be in the same package as Action class 
관련 문제