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