科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件WebWork的强大的验证器(3)

WebWork的强大的验证器(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

四、客户端验证

作者:中国IT实验室 来源:中国IT实验室 2007年8月21日

关键字: WebWork

  • 评论
  • 分享微博
  • 分享邮件

四、客户端验证
加入validate="true"
<ww:form name="test" action="javascriptValidation" validate="true">
  ...
</ww:form>
这样的话webwork会根据你的服务器端的验证,对应生成javaScript的验证,而且提示信息和服务器端
验证的方式一样,而不是alert的方式显示。(前题是你使用的都是标准的验证器)
五、
对应上边验证器的web页面


<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="ww" uri="/webwork"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    
<head>
        
<title></title>
        
<ww:head />
    
</head>
    
<body>
        
<!--  
        如果想统一的显示所有的Erro打开下边这句
        
<ww:fielderror />
        如果想显示其中一个Error打开下边这句,默认显示在字段的正上方
        
<ww:fielderror>
            
<ww:param value="%{'name'}" />
        
</ww:fielderror>
        
<ww:fielderror>
            
<ww:param>desc</ww:param>
        
</ww:fielderror>
         
-->
        
<ww:form name="test" namespace="/" action="DbAdmin" method="post" validate="true">
            
<ww:actionmessage />
            
<ww:actionerror/>
            
<ww:textfield label="name" name="name" />
            
<ww:date id="strCurrDate" name="currDate" format="yyyy-MM-dd" />
            
<ww:datepicker name="currDate" id="currDate" showstime="true"
                format
="%Y-%m-%e %H:%M" cssClass="tx" language="zh" required="true"
                template
="datepicker.ftl" label="currDate" value="%{strCurrDate}" >
            
</ww:datepicker>
            
<ww:textfield label="url" name="url" />
            
<ww:textfield label="mail" name="mail" />
            
<ww:textfield label="age" name="age" />
            
<ww:textfield label="desc" name="desc" />
            
<ww:submit action="DbAdmin" method="doTestValidator"
                value
="doTestValidator" />
        
</ww:form>
    
</body>
</html>
六、对应上边的Action代码
package niis.web.actions.temp;

import java.text.SimpleDateFormat;
import java.util.Date;

import niis.persistence.ITestDao;
import niis.persistence.dao.SqlCommand;
import niis.web.actions.AbstractAction;

public class DbAdminAction {
    
private String name;
    
private Date currDate ;
    
private String url;
    
private String mail;
    
private int age;
    
private String desc;
    
    
public String doTestValidator(){
        System.out.println(name);
        System.out.println(currDate);
        System.out.println(url);
        System.out.println(mail);
        System.out.println(age);
        
return SUCCESS;
    }

    
/**
     * 
@return the age
     
*/

    
public int getAge() {
        
return age;
    }

    
/**
     * 
@param age the age to set
     
*/

    
public void setAge(int age) {
        
this.age = age;
    }

    
/**
     * 
@return the date
     
*/

    
public Date getCurrDate() {
        
return currDate;
    }

    
/**
     * 
@param date the date to set
     
*/

    
public void setCurrDate(Date date) {
        
this.currDate = date;
    }

    
/**
     * 
@return the mail
     
*/

    
public String getMail() {
        
return mail;
    }

    
/**
     * 
@param mail the mail to set
     
*/

    
public void setMail(String mail) {
        
this.mail = mail;
    }

    
/**
     * 
@return the name
     
*/

    
public String getName() {
        
return name;
    }

    
/**
     * 
@param name the name to set
     
*/

    
public void setName(String name) {
        
this.name = name;
    }

    
/**
     * 
@return the url
     
*/

    
public String getUrl() {
        
return url;
    }

    
/**
     * 
@param url the url to set
     
*/

    
public void setUrl(String url) {
        
this.url = url;
    }

    
/**
     * 
@return the testDao
     
*/

    
public ITestDao getTestDao() {
        
return testDao;
    }

    
/**
     * 
@return the desc
     
*/

    
public String getDesc() {
        
return desc;
    }

    
/**
     * 
@param desc the desc to set
     
*/

    
public void setDesc(String desc) {
        
this.desc = desc;
    }

}

七、简单提示:属性文件的名字类名+properties,validator配制文件的名字类名+validation.xml
(还有其它的组合方式)
例如对应的DbAdminAction.java
DbAdminAction-validation.xml
DbAdminAction.properties
注意
许多WebWork 标签的 required 属性和客户端校验没有什么关系. 它只是在某个theme(例如xhtml)中用来在一个标识为必填的字段周围放置一个'*'.

八、上边程序的示例代码(从eclipse导出的工程)
http://www.blogjava.net/Files/dreamstone/vl.rar

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章