gpt4 book ai didi

jsf - OmniFaces Param.validatorAttributes 的使用

转载 作者:行者123 更新时间:2023-12-04 15:06:00 26 4
gpt4 key购买 nike

我尝试使用 OmniFaces @Param注释以注入(inject)请求参数。
我也使用它的validatorClasses属性来验证参数。最终,这个使用过的验证器需要一个特殊的属性才能运行,我想通过设置 validatorAttributes 来传递值。属性。不幸的是我不知道怎么做。 documentation提供了描述,但我只是不明白。

有人可以帮忙吗?

这是一些代码:

    @Inject
@Param(
name = "the_param_name",
validatorClasses = MyFreshValidator.class,
validatorAttributes = ?
)
private MyFreshClass instance;

将同一类的另一个对象提供给验证器将是理想的。

最佳答案

它确实在showcase 中稍微隐藏了一点。 .如果您打开 CdiParamBean “演示源代码”部分的选项卡,然后您将通过以下示例找到托管 bean 的源代码:

// Like <f:viewParam name="text2" value="#{bean.text2}" validatorMessage="..."><f:validateLength minimum="3">
@Inject @Param(
validatorClasses = LengthValidator.class,
validatorAttributes = @Attribute(name="minimum", value="3"),
validatorMessage = "{1}: Value is too too small! Please enter a minimum of 3 characters.")
private String text2;
// Like <f:viewParam name="date" value="#{bean.date}" converterMessage="..."><f:convertDateTime pattern="yyyyMMdd">
@Inject @Param(
converterClass = DateTimeConverter.class,
converterAttributes = { @Attribute(name="pattern", value="yyyyMMdd") },
converterMessage="{1}: \"{0}\" is not the date format we had in mind! Please use the format yyyyMMdd.")
private Date date;

在这里, @Attributeorg.omnifaces.cdi.param.Attribute .

我看看 improving future 版本中的文档。

关于jsf - OmniFaces Param.validatorAttributes 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57893178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com