在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),我想具有值为minimummaximum外部化/集中,以便它不再重复。有这样一个用例的好建议吗?

我正在考虑使用属性文件。

<f:validateLength minimum="#{validationResource.priceModel.minimum}" maximum="#{validationResource.priceModel.minimum}" /> 

回答:

除了这样,你发现了自己的另一方法是:

  1. 扩展JSF LengthValidator并设置在构造函数中的默认值。

    @FacesValidator("priceModelNameLengthValidator") 

    public class PriceModelNameLengthValidator extends LengthValidator {

    public PriceModelNameLengthValidator() {

    setMinimum(3);

    setMaximum(45);

    }

    }

    (如果必要的话常量或配置设置使这些神奇数字)

    和重用

    <f:validator validatorId="priceModelNameLengthValidator" /> 


  2. 使用JSR 303 Bean验证。

    @Size(min=3, max=45) 

    private String priceModelName;

以上是 在JSF2中外部化/集中验证属性 的全部内容, 来源链接: utcz.com/qa/262247.html

回到顶部