日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Struts2講義37

系統(tǒng) 1780 0

8.4 ? Struts2 輸入校驗(yàn)器大全

在前幾節(jié)的輸入校驗(yàn)的配置文件中讀者應(yīng)該看到很多類型的 Struts2 的輸入校驗(yàn)器。下面就對(duì)這些輸入校驗(yàn)器做詳細(xì)介紹。

技術(shù)要點(diǎn)

介紹 Struts2 自帶的輸入校驗(yàn)器。

演示代碼

xwork-2.0.4.jar 包中,請(qǐng)讀者在 \com\opensymphony\xwork2\validator\validators 路徑下找一個(gè)名字為“ default.xml ”的 xml 文件。在該文件中有所有 Struts2 自帶的輸入校驗(yàn)器定義。具體代碼如下:

Java代碼 復(fù)制代碼
  1. <!-------------文件名: default .xml--------> ??
  2. ………… ??
  3. <validators> ??
  4. <validator?name= "required" ??
  5. class = "com.opensymphony.xwork2.validator.validators.RequiredFieldValidator" /> ??
  6. <validator?name= "requiredstring" ??
  7. class = "com.opensymphony.xwork2.validator.validators.RequiredStringValidator" /> ??
  8. <validator?name= "int" ??
  9. class = "com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator" /> ??
  10. <validator?name= "double" ??
  11. class = "com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator" /> ??
  12. <validator?name= "date" ??
  13. class = "com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator" /> ??
  14. <validator?name= "expression" ??
  15. class = "com.opensymphony.xwork2.validator.validators.ExpressionValidator" /> ??
  16. <validator?name= "fieldexpression" ??
  17. class = "com.opensymphony.xwork2.validator.validators.FieldExpressionValidator" /> ??
  18. <validator?name= "email" ??
  19. class = "com.opensymphony.xwork2.validator.validators.EmailValidator" /> ??
  20. <validator?name= "url" ??
  21. class = "com.opensymphony.xwork2.validator.validators.URLValidator" /> ??
  22. <validator?name= "visitor" ??
  23. class = "com.opensymphony.xwork2.validator.validators.VisitorFieldValidator" /> ??
  24. <validator?name= "conversion" ??
  25. class = "com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator" /> ??
  26. <validator?name= "stringlength" ??
  27. class = "com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator" /> ??
  28. <validator?name= "regex" ??
  29. class = "com.opensymphony.xwork2.validator.validators.RegexFieldValidator" /> ??
  30. </validators>??
    <!-------------文件名:default.xml-------->
…………
<validators>
<validator name="required"
class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring"
class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
<validator name="int"
class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="double"
class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
<validator name="date"
class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
<validator name="expression"
class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression"
class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email"
class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
<validator name="url"
class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
<validator name="visitor"
class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
<validator name="conversion"
class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength"
class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
<validator name="regex"
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
</validators>
  

?

以上代碼是所有 Struts2 輸入校驗(yàn)器的定義,下面將這些輸入校驗(yàn)器(一共有 13 個(gè))的字段和非字段格式的校驗(yàn)形式寫在如下,本例中沒有程序代碼示例,所有輸入校驗(yàn)器的應(yīng)用代碼都是筆者自己定義的。

Java代碼 復(fù)制代碼
  1. <!--?必填校驗(yàn)?--> ??
  2. ??<!--?非字段校驗(yàn)?--> ??
  3. ??<validator?type= "required" > ??
  4. ??????<param?name= "fidleName" >field</param>????????????????? ??
  5. ??????<message>請(qǐng)輸入數(shù)據(jù)</message> ??
  6. ??</validator> ??
  7. ??<!--?字段校驗(yàn)?--> ??
  8. ??<field?name= "field" > ??
  9. ??????<field-validator?type= "required" >??????????? ??
  10. ??????????<message>請(qǐng)輸入數(shù)據(jù)</message> ??
  11. ??????</field-validator> ??
  12. ??</field> ??
  13. ??
  14. ??<!--?必填字符串校驗(yàn)?--> ??
  15. ??<!--?非字段校驗(yàn)?--> ??
  16. ??<validator?type= "requiredstring" > ??
  17. ??????<param?name= "fidleName" >field</param> ??
  18. ??????<param?name= "trim" > true </param>???????????????? ??
  19. ??????<message>請(qǐng)輸入數(shù)據(jù)</message> ??
  20. ??</validator> ??
  21. ??<!--?字段校驗(yàn)?--> ??
  22. ??<field?name= "field" > ??
  23. ??????<field-validator?type= "requiredstring" > ??
  24. ??????????<param?name= "trim" > true </param>?????????? ??
  25. ??????????<message>請(qǐng)輸入數(shù)據(jù)</message> ??
  26. ??????</field-validator> ??
  27. ??</field> ??
  28. ??
  29. ??<!--?整數(shù)校驗(yàn)?--> ??
  30. ??<!--?非字段校驗(yàn)?--> ??
  31. ??<validator?type= "int" > ??
  32. ??????<param?name= "fidleName" >field</param>????????????????? ??
  33. ??????<param?name= "min" > 1 </param> ??
  34. ??????<param?name= "max" > 80 </param> ??
  35. ??????<message>數(shù)字必須在${min}-${max}歲之間</message> ??
  36. ??</validator> ??
  37. ??<!--?字段校驗(yàn)?--> ??
  38. ??<field?name= "field" > ??
  39. ??????<field-validator?type= "int" > ??
  40. ??????????<param?name= "min" > 1 </param> ??
  41. ??????????<param?name= "max" > 80 </param> ??
  42. ??????????<message>數(shù)字必須在${min}-${max}歲之間</message> ??
  43. ??????</field-validator> ??
  44. ??</field> ??
  45. ??
  46. ??<!--?浮點(diǎn)校驗(yàn)?--> ??
  47. ??<!--?非字段校驗(yàn)?--> ??
  48. ??<validator?type= "double" > ??
  49. ??????<param?name= "fidleName" >field</param> ??
  50. ??????<param?name= "minExclusive" > 0.1 </param> ??
  51. ??????<param?name= "maxExclusive" > 10.1 </param>??????????? ??
  52. ??????<message>輸入浮點(diǎn)無效</message> ??
  53. ??</validator> ??
  54. ??<!--?字段校驗(yàn)?--> ??
  55. ??<field?name= "field" > ??
  56. ??????<field-validator?type= "double" > ??
  57. ??????????<param?name= "minExclusive" > 0.1 </param> ??
  58. ??????????<param?name= "maxExclusive" > 10.1 </param>??????????? ??
  59. ??????????<message>輸入浮點(diǎn)無效</message> ??
  60. ??????</field-validator> ??
  61. ??</field> ??
  62. ? ??
  63. ??<!--?日期校驗(yàn)?--> ??
  64. ??<!--?非字段校驗(yàn)?--> ??
  65. ??<validator?type= "date" > ??
  66. ??????<param?name= "fidleName" >field</param> ??
  67. ??????<param?name= "min" > 2009 - 01 - 01 </param> ??
  68. ??????<param?name= "max" > 2019 - 01 - 01 </param> ??
  69. ??????<message>日期無效</message> ??
  70. ??</validator> ??
  71. ??<!--?字段校驗(yàn)?--> ??
  72. ??<field?name= "field" > ??
  73. ??????<field-validator?type= "date" > ??
  74. ?????????<param?name= "min" > 2009 - 01 - 01 </param> ??
  75. ?????????<param?name= "max" > 2019 - 01 - 01 </param> ??
  76. ?????????<message>日期無效</message> ??
  77. ??????</field-validator> ??
  78. ??</field> ??
  79. ??
  80. ??<!--?表達(dá)式校驗(yàn)?--> ??
  81. ??<!--?非字段校驗(yàn)?--> ??
  82. ??<validator?type= "expression" > ??
  83. ??????<param?name= "expression" >password==repassword</param> ??
  84. ??????????<message>兩者輸入不一致</message> ??
  85. ??</validator> ??
  86. ? ??
  87. ??<!--?字段表達(dá)式校驗(yàn)?--> ??
  88. ??<!--?非字段校驗(yàn)?--> ??
  89. ??<validator?type= "fieldexpression" > ??
  90. ??????<param?name= "expression" >password==repassword</param> ??
  91. ??????<message>兩者輸入不一致</message> ??
  92. ??</validator> ??
  93. ??<!--?字段校驗(yàn)?--> ??
  94. ??<field?name= "field" > ??
  95. ??????<field-validator?type= "fieldexpression" > ??
  96. ??????????<param?name= "expression" ><![CDATA[#password==#repassword]]></param> ??
  97. ??????????<message>兩者輸入不一致</message> ??
  98. ??????</field-validator> ??
  99. ??</field> ??
  100. ??
  101. ??<!--?郵件校驗(yàn)?--> ??
  102. ??<!--?非字段校驗(yàn)?--> ??
  103. ??<validator?type= "email" > ??
  104. ??????<param?name= "fidleName" >field</param>????????????????? ??
  105. ??????<message>非法郵件地址</message> ??
  106. ??</validator> ??
  107. ??<!--?字段校驗(yàn)?--> ??
  108. ??<field?name= "field" > ??
  109. ??????<field-validator?type= "email" > ??
  110. ??????????<message>非法郵件地址</message> ??
  111. ??????</field-validator> ??
  112. ??</field> ??
  113. ? ??
  114. ??<!--?網(wǎng)址校驗(yàn)?--> ??
  115. ??<!--?非字段校驗(yàn)?--> ??
  116. ??<validator?type= "url" > ??
  117. ??????<param?name= "fidleName" >field</param>????????????? ??
  118. ??????<message>無效網(wǎng)址</message> ??
  119. ??</validator> ??
  120. ??<!--?字段校驗(yàn)?--> ??
  121. ??<field?name= "field" > ??
  122. ??????<field-validator?type= "url" >????????????? ??
  123. ??????????<message>無效網(wǎng)址</message> ??
  124. ??????</field-validator> ??
  125. ??</field> ??
  126. ? ??
  127. ??<!--?visitor校驗(yàn)?--> ??
  128. ??<!--?非字段校驗(yàn)?--> ??
  129. ??<validator?type= "visitor" > ??
  130. ??????<param?name= "fidleName" >field</param> ??
  131. ??????<param?name= "context" >fieldContext</param> ??
  132. ??????<param?name= "appendPrefix" > true </param>????????????? ??
  133. ??????<message>輸入校驗(yàn)</message> ??
  134. ??</validator> ??
  135. ??<!--?字段校驗(yàn)?--> ??
  136. ??<field?name= "field" > ??
  137. ??????<field-validator?type= "visitor" >???????????? ??
  138. ??????????<param?name= "context" >fieldContext</param> ??
  139. ??????????<param?name= "appendPrefix" > true </param>????????????? ??
  140. ??????????<message>輸入校驗(yàn)</message> ??
  141. ??????</field-validator> ??
  142. ??</field> ??
  143. ? ??
  144. ??<!--?類型轉(zhuǎn)換校驗(yàn)?--> ??
  145. ??<!--?非字段校驗(yàn)?--> ??
  146. ??<validator?type= "conversion" > ??
  147. ??????<param?name= "fidleName" >field</param> ??
  148. ??????<message>類型轉(zhuǎn)換錯(cuò)誤</message> ??
  149. ??</validator> ??
  150. ??<!--?字段校驗(yàn)?--> ??
  151. ??<field?name= "field" > ??
  152. ??????<field-validator?type= "conversion" > ??
  153. ??????????<message>類型轉(zhuǎn)換錯(cuò)誤</message> ??
  154. ??????</field-validator> ??
  155. ??</field> ??
  156. ? ??
  157. ??<!--?字符串長度校驗(yàn)?--> ??
  158. ??<!--?非字段校驗(yàn)?--> ??
  159. ??<validator?type= "stringlength" > ??
  160. ??????<param?name= "fidleName" >field</param> ??
  161. ??????<param?name= "minLength" > 1 </param> ??
  162. ??????<param?name= "maxLength" > 10 </param> ??
  163. ??????<param?name= "trim" > true </param>???????????????? ??
  164. ??????<message>字符串長度必須為 10 位</message> ??
  165. ??</validator> ??
  166. ??<!--?字段校驗(yàn)?--> ??
  167. ??<field?name= "field" > ??
  168. ??????<field-validator?type= "stringlength" > ??
  169. ??????????<param?name= "minLength" > 1 </param> ??
  170. ??????????<param?name= "maxLength" > 10 </param> ??
  171. ??????????<param?name= "trim" > true </param>????????????? ??
  172. ??????????<message>字符串長度必須為 10 位</message> ??
  173. ??????</field-validator> ??
  174. ??</field> ??
  175. ? ??
  176. ??<!--?正則表達(dá)式校驗(yàn)?--> ??
  177. ??<!--?非字段校驗(yàn)?--> ??
  178. ??<validator?type= "regex" > ??
  179. ??????<param?name= "fidleName" >field</param>????????????????? ??
  180. ??????<param?name= "expression" ><![CDATA[(/^ 13 [ 13567890 ](\d{ 8 })$/)]]></param> ??
  181. ??????<message>手機(jī)號(hào)碼必須為數(shù)字并且是 11 位</message> ??
  182. ??</validator> ??
  183. ??<!--?字段校驗(yàn)?--> ??
  184. ??<field?name= "field" > ??
  185. ??????<field-validator?type= "regex" > ??
  186. ??????????<param?name= "expression" ><![CDATA[(/^ 13 [ 13567890 ](\d{ 8 })$/)]]></param> ??
  187. ??????????<message>手機(jī)號(hào)碼必須為數(shù)字并且是 11 位</message> ??
  188. ??????</field-validator> ??
  189. ??</field>??
      <!-- 必填校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="required">
        <param name="fidleName">field</param>                 
        <message>請(qǐng)輸入數(shù)據(jù)</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="required">           
            <message>請(qǐng)輸入數(shù)據(jù)</message>
        </field-validator>
    </field>

    <!-- 必填字符串校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="requiredstring">
        <param name="fidleName">field</param>
        <param name="trim">true</param>                
        <message>請(qǐng)輸入數(shù)據(jù)</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="requiredstring">
            <param name="trim">true</param>          
            <message>請(qǐng)輸入數(shù)據(jù)</message>
        </field-validator>
    </field>

    <!-- 整數(shù)校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="int">
        <param name="fidleName">field</param>                 
        <param name="min">1</param>
        <param name="max">80</param>
        <message>數(shù)字必須在${min}-${max}歲之間</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">80</param>
            <message>數(shù)字必須在${min}-${max}歲之間</message>
        </field-validator>
    </field>

    <!-- 浮點(diǎn)校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="double">
        <param name="fidleName">field</param>
        <param name="minExclusive">0.1</param>
        <param name="maxExclusive">10.1</param>           
        <message>輸入浮點(diǎn)無效</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="double">
            <param name="minExclusive">0.1</param>
            <param name="maxExclusive">10.1</param>           
            <message>輸入浮點(diǎn)無效</message>
        </field-validator>
    </field>
   
    <!-- 日期校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="date">
        <param name="fidleName">field</param>
        <param name="min">2009-01-01</param>
        <param name="max">2019-01-01</param>
        <message>日期無效</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="date">
           <param name="min">2009-01-01</param>
           <param name="max">2019-01-01</param>
           <message>日期無效</message>
        </field-validator>
    </field>
  
    <!-- 表達(dá)式校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="expression">
        <param name="expression">password==repassword</param>
            <message>兩者輸入不一致</message>
    </validator>
   
    <!-- 字段表達(dá)式校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="fieldexpression">
        <param name="expression">password==repassword</param>
        <message>兩者輸入不一致</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="fieldexpression">
            <param name="expression"><![CDATA[#password==#repassword]]></param>
            <message>兩者輸入不一致</message>
        </field-validator>
    </field>
  
    <!-- 郵件校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="email">
        <param name="fidleName">field</param>                 
        <message>非法郵件地址</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="email">
            <message>非法郵件地址</message>
        </field-validator>
    </field>
   
    <!-- 網(wǎng)址校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="url">
        <param name="fidleName">field</param>             
        <message>無效網(wǎng)址</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="url">             
            <message>無效網(wǎng)址</message>
        </field-validator>
    </field>
   
    <!-- visitor校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="visitor">
        <param name="fidleName">field</param>
        <param name="context">fieldContext</param>
        <param name="appendPrefix">true</param>             
        <message>輸入校驗(yàn)</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="visitor">            
            <param name="context">fieldContext</param>
            <param name="appendPrefix">true</param>             
            <message>輸入校驗(yàn)</message>
        </field-validator>
    </field>
   
    <!-- 類型轉(zhuǎn)換校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="conversion">
        <param name="fidleName">field</param>
        <message>類型轉(zhuǎn)換錯(cuò)誤</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="conversion">
            <message>類型轉(zhuǎn)換錯(cuò)誤</message>
        </field-validator>
    </field>
   
    <!-- 字符串長度校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="stringlength">
        <param name="fidleName">field</param>
        <param name="minLength">1</param>
        <param name="maxLength">10</param>
        <param name="trim">true</param>                
        <message>字符串長度必須為10位</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="stringlength">
            <param name="minLength">1</param>
            <param name="maxLength">10</param>
            <param name="trim">true</param>             
            <message>字符串長度必須為10位</message>
        </field-validator>
    </field>
   
    <!-- 正則表達(dá)式校驗(yàn) -->
    <!-- 非字段校驗(yàn) -->
    <validator type="regex">
        <param name="fidleName">field</param>                 
        <param name="expression"><![CDATA[(/^13[13567890](\d{8})$/)]]></param>
        <message>手機(jī)號(hào)碼必須為數(shù)字并且是11位</message>
    </validator>
    <!-- 字段校驗(yàn) -->
    <field name="field">
        <field-validator type="regex">
            <param name="expression"><![CDATA[(/^13[13567890](\d{8})$/)]]></param>
            <message>手機(jī)號(hào)碼必須為數(shù)字并且是11位</message>
        </field-validator>
    </field>
  

代碼解釋

1 )必填校驗(yàn)器 required 是用來判斷輸入的字段是否為空。如果未輸入任何數(shù)據(jù)則會(huì)顯示錯(cuò)誤信息。 fieldName 屬性是指定校驗(yàn)的字段名。這個(gè)屬性是所有 Struts2 自帶的輸入校驗(yàn)器都具有的屬性。因此介紹其他輸入校驗(yàn)器時(shí),筆者略過不談。但是讀者自己要知道該屬性是輸入校驗(yàn)器共有的。該校驗(yàn)器其他標(biāo)簽都和前幾章節(jié)中有過介紹,筆者也略過不談。

2 )必填字符串校驗(yàn)器 requiredstring 用來判斷輸入字段是否是 1 個(gè)非空字符串 。如果不是也顯示錯(cuò)誤信息。其中的 trim 屬性是在校驗(yàn)之前對(duì)字符串進(jìn)行處理。默認(rèn)是“ true ”。

3 )整數(shù)校驗(yàn)器 int 判斷輸入的字段數(shù)據(jù)是在一個(gè)整數(shù)范圍內(nèi)。 min 屬性是最小值, max 是最大值。 <message> 標(biāo)簽內(nèi)可用“ ${ 屬性名 } ”格式類表示他們具體的值。

4 )浮點(diǎn)校驗(yàn)器 double t 判斷輸入的字段數(shù)據(jù)是在 1 個(gè)浮點(diǎn)數(shù)范圍內(nèi)。 minInclusive 表示這個(gè)范圍的最小值。 max Inclusive 表示這個(gè)范圍的最大值。還有 minExclusive maxExclusive 兩個(gè)屬性,前者表明在浮點(diǎn)范圍之外的最小值,后者是在浮點(diǎn)范圍之外的最大值。

注意:以上四個(gè)屬性如果沒有聲明,則輸入校驗(yàn)不會(huì)去檢查。

5 )日期校驗(yàn)器 date 判斷輸入的字段的日期值是否在 1 個(gè)日期范圍內(nèi)。 min 是該范圍的最小值, max 是最大值。他們兩個(gè)屬性也和浮點(diǎn)校驗(yàn)器的四個(gè)屬性相同,如果沒有聲明則輸入校驗(yàn)不檢查。

6 )表達(dá)式校驗(yàn)器 expression 只有非字段校驗(yàn)格式。不能在字段校驗(yàn)中聲明。它的屬性也是 expression 。如代碼所示開發(fā)者可以使用 OGNL 表達(dá)式來定義校驗(yàn)規(guī)則。

7 )字段表達(dá)式校驗(yàn)器 fieldexpression 判斷字段是否滿足一個(gè)表達(dá)式。如代碼所示,當(dāng)用來判斷輸入的密碼和確認(rèn)密碼值是否一致就可以使用該校驗(yàn)器。它的屬性 expression 和表達(dá)式校驗(yàn)器相同。不過它可以用在字段校驗(yàn)中。

8 )郵件校驗(yàn)器 email 來判斷輸入的字段是 1 個(gè) email 時(shí)候是否符合 email 的格式。

9 )網(wǎng)址校驗(yàn)器 ur l 來判斷輸入的字段是 1 個(gè)網(wǎng)址時(shí)候是否符合網(wǎng)址的格式。

10 visitor 校驗(yàn)器就是判斷集合類型的字段。前面章節(jié)有所介紹。這里在重申一下 context 屬性是可以應(yīng)用的集合類型中元素對(duì)象的別名。 appendPrefix 屬性是指定在錯(cuò)誤信息中前面是否加上特定前綴。該前綴內(nèi)容可在 <message> 標(biāo)簽中定義。另外這兩個(gè)屬性也是沒有聲明時(shí)候,校驗(yàn)器不會(huì)去執(zhí)行檢查。

11 )類型轉(zhuǎn)換校驗(yàn)器 conversion 用來判斷輸入字段是否進(jìn)行類型轉(zhuǎn)換。它有 1 個(gè) repopulateField 屬性,如果為“ true ”表明如果發(fā)生類型轉(zhuǎn)換錯(cuò)誤,返回到 struts.xml 中指定的 Action input 視圖界面時(shí)候還是否把原來錯(cuò)誤的輸入內(nèi)容顯示出來。“ false ”則相反。從這也可以看出筆者一直堅(jiān)持的觀點(diǎn)類型轉(zhuǎn)換也屬于輸入校驗(yàn)的一種是有理論依據(jù)的。

12 )字符串長度校驗(yàn)器 stringlength 用于判斷輸入的字符串長度是否是指定的長度范圍。其中 minLength 是最小字符串長度, maxLength 是最大字符串長度。 trim 屬性和上述必填字符串校驗(yàn)器 requiredstring trim 屬性擁有相同功能。這三者也是屬于不聲明則不執(zhí)行檢查的可選屬性。

13 )正則表達(dá)式校驗(yàn)器 regex 檢查字段輸入值是否和 1 個(gè)正則表達(dá)式匹配。 expression 屬性中內(nèi)容就是該正則表達(dá)式。還有個(gè) caseSensitive 屬性,為“ true ”則表明匹配時(shí)候?qū)ψ帜复笮懨舾小7粗畡t不敏感。如代碼所示筆者用了 1 個(gè)判斷輸入的值是否是 11 位,全部由數(shù)字組成的正則表達(dá)式。對(duì)于輸入手機(jī)號(hào)碼數(shù)據(jù)的字段,該校驗(yàn)規(guī)則是最適用的。

Struts2講義37


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 石棉县| 富源县| 营山县| 确山县| 宜黄县| 聂荣县| 扎兰屯市| 泸水县| 丹凤县| 阿荣旗| 锡林浩特市| 奎屯市| 中卫市| 类乌齐县| 延安市| 石河子市| 罗江县| 恩施市| 抚远县| 临江市| 尼木县| 通化县| 新建县| 桃园县| 财经| 兰考县| 红原县| 鄯善县| 乐业县| 横山县| 彭阳县| 井冈山市| 景洪市| 广安市| 融水| 蒲江县| 平凉市| 昌平区| 宁南县| 丹巴县| 屏山县|