我正在尝试自定义(包括i18n)JSR303,但我总是得到
msg.test.validation=This is a test
我创建了一个包含内容的ValidationMessages.properties文件
@NotNull
@Pattern (regexp="^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$", message = "{msg.test.validation}")
private String test;
文件(包括ValidationMessages_de.properties,_de_DE.properties和_en.properties)放在src / main / resources中。在war文件中,文件位于WEB-INF / classes(标准maven行为)
在托管bean中我有
<h:form>
<p:inputText id="test" value="#{validationView.test}" label="Test" />
<p:commandButton id="testbutton" action="#{validationView.showTest}" value="Test" validateClient="true" />
<p:message for="test" />
</h:form>
基于Primefaces 6.0的页面包含
private void Advancedmodewindow_click(object sender, EventArgs e)
{
classx.AllocConsole();
TextWriter writer = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = true };
Console.SetOut(writer);
Console.WriteLine("X");
Console.SetIn(new StreamReader(Console.OpenStandardInput()));
string line = Console.ReadLine();
classx.FreeConsole();
}
我似乎找不到ValidationMessages,但为什么?如果我输入一条消息而不是占位符&#39; msg.test.validation&#39;显示此消息。
任何提示?
答案 0 :(得分:0)
这应该在prime-faces组件中起作用:
<p:inputText validatorMessage="#{message['msg.test.validation']}" />