1. 程式人生 > >struts驗證框架的配置及validation.xml常用的驗證規則(Struts2的輸入驗證詳解)

struts驗證框架的配置及validation.xml常用的驗證規則(Struts2的輸入驗證詳解)

<field name="username">
<field-validator type="required">
<message>指定檢驗失敗的提示資訊</message>
</field-validator>
</field>
</validators>


2。必填字串檢驗
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>

<message>指定檢驗失敗的提示資訊</message>
</field-validator>
</field>
</validators>


3。整數檢驗器/浮點檢驗
<validators>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年紀必須在1到150之間</message>

</field-validator>
</field>

</validators>

4。日期檢驗
<validators>
<field name="birth">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2050-02-21</param>
<message key="birth.range"/>
</field-validator>
</field>
</validators>


5.欄位表示式檢驗器(要求指定欄位滿足一個邏輯表示式)

<validators>
<field name="re_pass"><field-validator type="fieldexpression"><!--指定邏輯表示式 -->
<param name="expression"> (pass eq re_pass)</param>
<message>密碼必須和確認密碼相等</message>
</field-validator>
</field>
</validators>


6.郵件地址校驗
<validators>
<field name="email">
<field-validator type="email">
<message>你的電子郵件地址必須是一個有效的電郵地址</message>
</field-validator>
</field>
</validators>7。網址檢驗
<validators>
<field name="url">
<field-validator type="url">
<message>你的主頁地址必須是一個有效的網址</message>
</field-validator>
</field>
</validators>

8.字串長度檢驗
<validators>
<field name="user">
<field-validator type="stringlength">
<param name="minlength">4</param>
<param name="maxlength">20</param>
<message>你的使用者名稱長度必須在4到20之間</message>
</field-validator>
</field>
</validators>

9.正則表示式檢驗
<validators>
<field name="user">
<field-validator type="regex">
<param name="regex"><![CDATA[(\w{4,25})]]></param>
<message>您輸入的使用者名稱只能是字母和陣列,且長度必須在4到25之間</message>
</field-validator>
</field>
</validators
接下來我舉一個簡單的登入驗證的例子:
login.jsp
  1. <%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%@ taglib uri="/struts-tags"prefix="s"%>
  3. <%  
  4.     String path = request.getContextPath();  
  5.     String basePath = request.getScheme() + "://"  
  6.             + request.getServerName() + ":" + request.getServerPort()  
  7.             + path + "/";  
  8. %>
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  10. <html>
  11.     <head>
  12.         <basehref="<%=basePath%>">
  13.         <title>My JSP 'fail.jsp' starting page</title>
  14.         <metahttp-equiv="pragma"content="no-cache">
  15.         <metahttp-equiv="cache-control"content="no-cache">
  16.         <metahttp-equiv="expires"content="0">
  17.         <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  18.         <metahttp-equiv="description"content="This is my page">
  19.     </head>
  20.     <body>
  21.         <s:formaction="user/login.action"validate="true">
  22.             <table
  23.                 style="border-style: solid; border-color: lightblue; position: absolute; top: 30px">
  24.                 <tbody>
  25.                     <tr>
  26.                         <td>
  27.                             <div
  28.                                 style="margin-center: 32px; border-style: solid; border-color: lightblue; border-width: 2px;">
  29.                                 <a>使用者名稱:</a>
  30.                                 <inputid="username"name="user.name"type="text"/>
  31.                             </div>
  32.                         </td>
  33.                     </tr>
  34.                     <tr>
  35.                         <td>
  36.                             <div
  37.                                 style="margin-center: 32px; border-style: solid; border-color: lightblue; border-width: 2px">
  38.                                 <a>密  碼:</a>
  39.                                 <inputid="password"name="user.password"type="password"/>
  40.                             </div>
  41.                         </td>
  42.                     </tr>
  43.                     <!-- 彈出出錯資訊 -->
  44.                     <tr>
  45.                         <td>
  46.                             <divid="msg"><s:fielderror/></div>
  47.                         </td>
  48.                     </tr>
  49.                     <tr>
  50.                         <td>
  51.                             <div>
  52.                                 <span><inputid="submit"type="submit"value="登入"/>
  53.                                 </span>
  54.                             </div>
  55.                         </td>
  56.                     </tr>
  57.                 </tbody>
  58.             </table>
  59.         </s:form>
  60.     </body>
  61. </html>

這裡有個地方需要注意:form中要加入validate=“true”這個屬性。

***Action-validation.xml

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC   
  3.           "-//OpenSymphony Group//XWork Validator 1.0//EN"   
  4.           "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd" >
  5. <validators>
  6.     <fieldname ="user.name">
  7. 相關推薦

    struts驗證框架配置validation.xml常用驗證規則Struts2輸入驗證

    <field name="username"><field-validator type="required"><message>指定檢驗失敗的提示資訊</message></field-validator></field></va

    Struts2驗證框架配置Validation.Xml常用驗證規則

    <field name="username"> <field-validator type="required"> <message>指定檢驗失敗的提示資訊</message> </field-validator> </field> &l

    驗證框架配置validation.xml常用驗證規則

    <field name="username"> <field-validator type="required"> <message>指定檢驗失敗的提示資訊</message> </field-validator> </field> &l

    linux 使用者基礎資訊配置 ulimit -a 引數

    linux 使用者基礎資訊配置詳解 1.命令 ulimit -a 引數詳解: 引數 描述 core file size core檔案的最大值為100 blocks, data se

    Struts+Spring+Hibernate實現上傳下載spring的最低框架配置,web.xml

    引言  檔案的上傳和下載在J2EE程式設計已經是一個非常古老的話題了,也許您馬上就能掰著指頭數出好幾個著名的大件:如SmartUpload、Apache的FileUpload。但如果您的專案是構建在Struts+Spring+Hibernate(以下稱SSH)框架上的,這些大

    spring中redis連線池版單節點使用xml配置xml配置

    1.依賴 <!--引入reids--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId

    Struts2輸入驗證--validation.xml,深入淺出struts2第十章

    今天學習深入淺出struts2的第十章,Model Driven和Preparable攔截器,結果被表單驗證弄的搞了一天才發現問題。 把模型物件從動作類裡分離出來,可以藉助Model Driven攔截器來建立和填充相關的物件模型。比如我有一個EmployeeAction動作

    SSM Spring +SpringMVC+Mybatis 配置 pom.xml

    我用的是eclipse EE mevan ok廢話不多直接上乾貨 目錄結構 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

    tomcat下域名的配置ROOT.xml

    <?xml version='1.0' encoding='utf-8'?> < Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true"> < /Context&g

    Gvim —— win 7 下 vim 環境配置 python開發常用設定

      不能不承認,notepad++是一個非常優秀的文字編輯器,上手方便,能裝很多外掛,可以直接編譯C++、Java、python等語言。但經常碰滑鼠確實是一件非常惱火的事情(快捷鍵真心不夠)。當然,練習在vim環境下程式設計也會非常辛苦,這裡是主流文字編輯器學習曲線。之前

    對於maven創建spark項目的pom.xml配置文件圖文

    mapr cati ID encoding pil tar error: 而是 releases  不多說,直接上幹貨! http://mvnrepository.com/   這裏,怎麽創建,見   這裏, 我重點說下spa

    全網最詳細的hive-site.xml配置文件裏添加<name>hive.cli.print.header</name>和<name>hive.cli.print.current.db</name>前後的變化圖文

    xml配置 note 個人博客 default 詳情 公眾 class 人生苦短 CA   不多說,直接上幹貨!     比如,你是從hive-default.xml.template,復制一份,改名為hive-site.xml     一

    全網最詳細的hive-site.xml配置文件裏如何添加達到Hive與HBase的集成,即Hive通過這些參數去連接HBase圖文

    out 開源精神 http FN image ava ext 必須 .cn   不多說,直接上幹貨!   一般,普通的情況是    <configuration>   <property>   

    Dubbo配置常用配置總結配置檔案

    1.暴露服務,定義服務資訊 服務配置,用於暴露一個服務,定義服務的元資訊,一個服務可以用多個協議暴露,一個服務也可以註冊到多個註冊中心。 <dubbo:service id="sendSmsSOAService" interface="com.sms.api.service.Sen

    Maven專案中整合SSHpom.xml檔案的配置

    Maven專案中整合SSH比較繁瑣,需要解決版本衝突問題,博主在下面給出了pom.xml檔案的配置資訊,改配置檔案整合的是:struts2-2.3.24、spring4.2.4、hibernate5.0.7。如果需要改版本,只需要更改<properties>標籤中

    SSH框架結合MySql資料庫實現常用小專案名片系統、商品管理、商品推薦、登陸註冊

    概述        這裡主要使用hibernate3.0、struts2.0和spring框架結合mysql資料庫搭建的開發環境,實現了幾個在開發學習中常用到的功能,名片系統、商品管理、商品推薦、登陸註冊、css結合js簡單優化頁面

    CSS語義化命名常用命名規則推薦

    轉自:http://beyondweb.cn/article_detail.php?id=8 (轉載後有調整) CSS語義化命名 從上圖我們可以大概看出這裡有兩種CSS的命名方式: 1、結構化命名法;(根據位置命名) 2、語義化命名法。 ( 根據功能命名 )

    對於maven建立spark專案的pom.xml配置檔案圖文

      不多說,直接上乾貨! http://mvnrepository.com/   這裡,怎麼建立,見   這裡, 我重點說下spark專案,因為,對於hadoop這樣的,我已經寫了大量部落格了。    比如,我目前用得較多的spark-m

    bash配置檔案/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc修改PATH環境變數

     1.bash的配置檔案 1)、全域性配置與個人配置 全域性配置 /etc/profile, /rtc/profile.d/*.sh,/etc/bashrc 個人配置 ~/.bash_pr

    Struts的型別轉換輸入校驗Struts2的輸入校驗

    Struts輸入校驗: (1)在Action類中處理方法進行校驗,若沒有指定方法就用execute()方法 (2)繼承ActionSupport類,並重寫其validate()方法實現輸入校驗 (3)應用struts2框架進行校驗 1.使用execute方法校驗: publ