我正在创建一个JSF 2应用程序,我正在尝试在bean中使用表单验证而不是faces-page.我还想使用.properties文件来存储消息.
我看了this question,但我认为我没有正确设置属性文件.
假设我在名为’dev’的包中有一个名为User的bean:
@ManagedBean
@SessionScoped
public class User implements Serializable {
@Pattern(pattern=".+@.+\.[a-z]+", message="{dev.User.emailAddress}")
private String emailAddress;
// getter/setter
}
我还在WEB-INF / classes中创建了一个文件’ValidationMessages.properties'(我正在使用Netbeans 7.0.1)
在ValidationMessages.properties文件中,我有这个键/值行:
dev.User.emailAddress=Custom invalid email message
我的观点(user.xhtml)看起来像这样:
xmlns:h="http://java.sun.com/jsf/html">
User registration当我输入无效的电子邮件并按下按钮时,网页中的验证消息显示为:
{dev.User.emailAddress}
代替
Custom invalid email message
可能问题是我没有在web.xml中注册我的属性文件?
我也应该在bean中将required =“true”切换为@NotNull.还有什么比插入这个更需要做的事情:
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
true
提前致谢!
/丹尼斯