您的位置:首页 > 其它

Tapestry 建立自己得 Validator

2009-01-04 10:47 211 查看

Tapestry 建立自己得 Validator

关键字: tapestry validator今天介绍一下如何建立自己得Validator1. 建立Validator继承BaseValidator类我实现得是验证用户输入必须和指定字段一致。如果想要带参数得验证,请添加一个带String参数得构造方法,并实现setter,getter方法例如validator验证调用名为 name,则实现setName,getName方法。代码:
package org.appfuse.webapp.tapestry;
import org.apache.tapestry.IMarkupWriter;import org.apache.tapestry.IRequestCycle;import org.apache.tapestry.TapestryUtils;import org.apache.tapestry.form.FormComponentContributorContext;import org.apache.tapestry.form.IFormComponent;import org.apache.tapestry.form.ValidationMessages;import org.apache.tapestry.form.validator.BaseValidator;import org.apache.tapestry.valid.ValidatorException;public class MyValidater extends BaseValidator {//用户得输入内容private String name;/*** @return the name*/public String getName() {return name;}/*** @param name* the name to set*/public void setName(String name) {this.name = name;}public MyValidater() {}public MyValidater(String string) {super(string);}//实现验证方法public void validate(IFormComponent field, ValidationMessages messages,Object object) throws ValidatorException {String str = object.toString();if (!str.equals(name))throw new ValidatorException(messages.formatValidationMessage(getMessage(), "invalid-format", new Object[] {field.getDisplayName(), null }));}}2.ok,修改hivemodule.xml 文件,添加以下代码<contribution configuration-id="tapestry.form.validator.Validators"><validator name="name" configurable="true" class="org.appfuse.webapp.tapestry.MyValidater"/></contribution>
注意:如果你的validator不带参数,请设置configurable=false3.  ok,可以在page文件中使用了, 
<component id="usernameField" type="TextField"><binding name="value" value="user.username"/><binding name="validators" value="validators:required,name=airdream"/><binding name="displayName" value="message:user.username"/></component>
大功告成!输入内容必须为aridream,否则报错!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: