tapestry提供了表单验证,大大简化了咱们手工编写验证代码的麻烦。经常使用验证有:required(必须的)、email(邮箱验证)、maxLength(最大字符数)、minLength(最小字符数)、max(最大值)、min(最小值)、regexp(正则表达式)。奇怪的是5.3.1验证有bug,5.3.2已经修复了....源码以下:html
Validators1.javajava
/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.beaneditor.Validate;
public class Validators1 {
@Property
@Validate("required")
private String firstName;
@Property
@Validate("required")
private String lastName;
@InjectPage
private Validators2 validators2;
Object onSuccess(){
validators2.set(firstName, lastName);
return validators2;
}
}
Validators1.tml正则表达式
<html t:type="layout" title="tapestryStart Index" t:sidebarTitle="Framework Version"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<t:form>
<t:errors/>
姓:<input t:type="textField" t:id="firstName" value="firstName"/><br/>
名字:<input t:type="textField" t:id="lastName" value="lastName"/><br/>
<input type="submit" value="提交"/>
</t:form>
</html>
Validators2.javasql
/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
public class Validators2 {
private String firstName;
private String lastName;
public void set(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
public String getName(){
return firstName + " " + lastName;
}
String[] onPassivate(){
return new String[]{firstName, lastName};
}
void onActivate(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
}
Validators2.tmlapache
<html t:type="layout" title="tapestryStart Index" t:sidebarTitle="Framework Version"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
姓名:${name}<br/>
<t:pagelink page="Validators1">返回</t:pagelink>
</html>
http://localhost/Validator/Validators1