在JSF2中外部化/集中验证属性
这是JSF中具有validateLength验证程序的输入字段的示例。在JSF2中外部化/集中验证属性
<p:inputText id="priceModelName" size="30" value="#{createPriceModelBackingBean.priceModel.priceModelName}"
required="true" label="#{labelResource.priceModelName}">
<f:validateLength minimum="3" maximum="45" />
</p:inputText>
的priceModelName
输入字段重复在另一个XHTML(create.xhtml和edit.xhtml),我想具有值为minimum
和maximum
外部化/集中,以便它不再重复。有这样一个用例的好建议吗?
我正在考虑使用属性文件。
<f:validateLength minimum="#{validationResource.priceModel.minimum}" maximum="#{validationResource.priceModel.minimum}" />
回答:
除了这样,你发现了自己的另一方法是:
扩展JSF
LengthValidator
并设置在构造函数中的默认值。@FacesValidator("priceModelNameLengthValidator")
public class PriceModelNameLengthValidator extends LengthValidator {
public PriceModelNameLengthValidator() {
setMinimum(3);
setMaximum(45);
}
}
(如果必要的话常量或配置设置使这些神奇数字)
和重用
<f:validator validatorId="priceModelNameLengthValidator" />
使用JSR 303 Bean验证。
@Size(min=3, max=45)
private String priceModelName;
以上是 在JSF2中外部化/集中验证属性 的全部内容, 来源链接: utcz.com/qa/262247.html