📄 validationdelegate.java
字号:
package org.appfuse.webapp.tapestry;
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 java.util.Locale;
/**
* Custom Validation Delegate - based on one found in Tapestry in Action.
*
* @author Matt Raible
*/
public class ValidationDelegate extends org.apache.tapestry.valid.ValidationDelegate {
private static final long serialVersionUID = 6658594142293597652L;
public void writeLabelPrefix(IFormComponent component,
IMarkupWriter writer, IRequestCycle cycle) {
// does nothing put prevent <font color="red"> from getting written
}
public void writeLabelSuffix(IFormComponent component,
IMarkupWriter writer, IRequestCycle cycle) {
if (component.isRequired()) {
writer.begin("span");
writer.attribute("class", "req");
writer.printRaw(" *");
writer.end();
}
}
public void writeAttributes(IMarkupWriter writer, IRequestCycle cycle,
IFormComponent component, IValidator validator) {
if (isInError()) {
String cssClass = ((component.getBinding("class") != null) ?
component.getBinding("class").getObject().toString() : "");
writer.attribute("class", cssClass + " error");
}
}
public void writePrefix(IMarkupWriter writer, IRequestCycle cycle,
IFormComponent component, IValidator validator) {
if (isInError(component)) {
writer.begin("span");
writer.attribute("class", "fieldError");
writer.begin("img");
String ctxPath = cycle.getInfrastructure().getContextPath();
writer.attribute("src", ctxPath + "/images/iconWarning.gif");
writer.attribute("class", "validationWarning");
writer.attribute("alt", cycle.getPage().getMessages().getMessage("icon.warning"));
writer.end("img");
writer.printRaw(" ");
IFieldTracking tracking = getComponentTracking();
IRender render = tracking.getErrorRenderer();
String error = "";
if (render instanceof RenderString) {
error = ((RenderString) render).getString();
}
writer.printRaw(error);
writer.end("span");
}
}
public void writeSuffix(IMarkupWriter writer, IRequestCycle cycle,
IFormComponent component, IValidator validator) {
// prevent <font> tags from getting written when there's an error
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -