validator.java
来自「this is for appfuse1.8 source using stru」· Java 代码 · 共 78 行
JAVA
78 行
package org.appfuse.webapp.action;import java.util.Locale;import org.apache.tapestry.IMarkupWriter;import org.apache.tapestry.IRender;import org.apache.tapestry.IRequestCycle;import org.apache.tapestry.form.IFormComponent;import org.apache.tapestry.valid.IFieldTracking;import org.apache.tapestry.valid.IValidator;import org.apache.tapestry.valid.RenderString;import org.apache.tapestry.valid.ValidationDelegate;/** * Custom Validation Delegate - based on one found in Tapestry in Action. * * @author Matt Raible */public class Validator extends ValidationDelegate { public void writeLabelPrefix(IFormComponent component, IMarkupWriter writer, IRequestCycle cycle) { writer.begin("label"); if (isInError(component)) { writer.attribute("class", "error"); } else { writer.attribute("class", "required"); } writer.print(" * "); } public void writeLabelSuffix(IFormComponent component, IMarkupWriter writer, IRequestCycle cycle) { Locale locale = cycle.getRequestContext().getRequest().getLocale(); String marker = (locale.equals(Locale.FRENCH)) ? " :" : ":"; writer.print(marker); writer.end(); } public void writeAttributes(IMarkupWriter writer, IRequestCycle cycle, IFormComponent component, IValidator validator) { if (isInError()) { writer.attribute("class", "error"); } } public void writeSuffix(IMarkupWriter writer, IRequestCycle cycle, IFormComponent component, IValidator validator) { if (isInError(component)) { writer.printRaw(" "); writer.begin("img"); String ctxPath = cycle.getRequestContext().getRequest().getContextPath(); writer.attribute("src", ctxPath + "/images/iconWarning.gif"); writer.attribute("class", "validationWarning"); writer.attribute("alt", cycle.getPage().getMessage("icon.warning")); writer.end(); writer.printRaw(" "); IFieldTracking tracking = getComponentTracking(); IRender render = tracking.getErrorRenderer(); String error = ""; if (render instanceof RenderString) { error = ((RenderString) render).getString(); } writer.begin("span"); writer.attribute("class", "fieldError"); writer.printRaw(error); writer.end(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?