2009-11-18 50 views
4

我是一名編程新手,目前我是一名初級程序員。 我目前有一些問題驗證我的一個表單中的選擇標籤。 我實際上試圖做的是確保在用戶提交表單之前選擇一個項目。如何在struts 2框架中驗證選擇標籤

在我有的形式;

<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驗證器和最小值集合。既然你想要的任何值大於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

嘿, 我嘗試了建議,但仍然失敗結束。 Object類的[com.sbcstnt.core.model.AssessmentType]標識符爲[0]:沒有找到 了思路,謝謝 – pundit

+0

您確保該字段被驗證?檢查字段的名稱與驗證xml文件中的字段名稱以確保。 –

1

設置headerKey = 「0」 到headerKey = 「」

<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