【发布时间】:2023-04-10 03:23:01
【问题描述】:
在我的Java代码中使用像javax.validation.constraints.Size这样的bean验证非常方便,比如:
@Size(min=1,max=30)protected String custName;
而不是嵌入在 .xhtml 页面中的更冗长的等价物,例如:
<f:validateLength minimum="1" maximum="30" />
我遇到的问题是我无法让字段名称出现在错误消息中。我可以通过将以下条目添加到源目录根目录中的 ValidationMessages.properties 来自定义消息:
javax.validation.constraints.Size.message={0} value is too long.
但是没有值被替换为 {0}。结果是,虽然带注释的验证器在我可以为每个表单字段包含单独的<p:message /> 的简单页面上工作得很好,但对于需要对我的消息进行分组的更复杂的(例如选项卡式)表单,它们并不能很好地工作在页面顶部。是否有任何解决方法,还是我唯一合理的选择是使用 JSF 验证器?
【问题讨论】:
标签: jsf-2 bean-validation