【发布时间】:2013-06-21 17:53:21
【问题描述】:
我正在开发一个自定义 JSF UIInput,它期望用户提供一个特制的值。为了验证用户输入,我需要运行一系列仅与手头的应用程序相关的检查。这不仅仅是一个普通的电子邮件或电话号码输入字段。它是一个文本输入,有一个复合值,需要将其解构为多个部分,并且每个部分都需要进行验证。
我设法自己创建了组件。
@FacesComponent("MyComponent")
public class MyComponent extends UIInput {
public String getFamily() {...}
encodeBegin() {...}
encodeEnd() {...}
}
mycomponent.taglib.xml 绑定在META-INF 中,我可以成功使用和测试组件。
我还实现了一个验证器类,它可以完成所有工作。准备好了。
public class AutomationDetectionValidator implements Validator {
public void validate(...) throws ValidatorException {...}
}
但是,我需要在该组件中包含一个自定义验证器作为默认值。我可以按如下方式手动执行此操作:
<custom:myComponent>
<f:validator validatorId=”myComponentValidator”/>
</custom:myComponent>
但预期的用法是
<custom:myComponent/>
验证器应该会自动出现。
我现在整天都在谷歌上搜索,但我能找到一些我们不想要的用法的基本示例。
【问题讨论】:
标签: jsf jsf-2 validation custom-component