我正在使用bean验证和extval验证。
我在类路径中创建了一个名为ValidationMessages.properties
的属性文件。在这个文件中我自定义了defult消息,
例如:
javax.validation.constraints.Size.message=this is a test messgae
当验证fieild时,我可以看到消息,但问题是我还会在消息之前看到字段和表单名称,如下所示:formName:fieldName this is a test
。
我想删除这个前缀。当它是一个jsf验证我知道我需要添加javax.faces.validator.BeanValidator.MESSAGE
属性,但在这里它不起作用。
我需要做什么才能删除此前缀并仅查看邮件本身?
更新
如何覆盖两个 bean验证和jsf默认错误消息? (以及删除表单的前缀和邮件的归档名称)
我有ValidationMessages.properties
的bean消息和messages.properties
的jsf验证。我需要在config-xml
和web.xml
文件中定义什么?我在哪里放置javax.faces.validator.BeanValidator.MESSAGE
属性?
这对我来说非常重要,
任何帮助都会得到满足,
感谢提前。
答案 0 :(得分:1)
您在哪个文件中指定了javax.faces.validator.BeanValidator.MESSAGE
属性?
必须在JSF已知的资源包中定义该属性(例如,在faces-config.xml
中注册的包),而不是在ValidationMessages.properties
内。
如果您不想显示组件标签,则属性值必须为{0}
(javax.faces.validator.BeanValidator.MESSAGE={0}
),但仅限于约束违规消息。更多信息可以在JSF 2规范的3.5.6.3节中找到。
答案 1 :(得分:0)
我想现在你已经解决了这个问题,如果不试试这个: - 在.xhtml页面中表示声明组件的位置,将lable属性设置为空白(“”)。这不会采用前缀值,只会显示错误消息。
对于输入文本字段,您需要进行一些验证,然后像这样使用
<h:inputText id="abc" value="My Textbox" label="">
试试这个,我认为你的问题可能会得到解决。