【发布时间】:2011-07-20 20:22:07
【问题描述】:
我一直在 JSF 中显示错误消息。我的要求如下:
我有一个用户表单,用户必须在其中输入名字、姓氏、用户名和电子邮件地址等详细信息。所有这些字段都是必填的,在这些字段中,用户名和电子邮件地址是唯一的。因此,当用户输入所有字段时,如果他点击保存,那么在后端我必须检查数据库中是否已经存在用户名和电子邮件地址,如果存在,我必须在页面顶部显示错误消息“输入的数据已经存在,请重新输入”。
名字和姓氏的验证消息应显示在每个字段的一侧。我不能使用<h:messages>,因为它会同时显示所有验证消息。
所以我使用以下代码在表单中填充了一个隐藏字段:
context.addMessage("addUserErrorMessage", new FacesMessage("the data entered is already exists, please reenter again"));
addUserErrorMessage是隐藏表单域的id。
但是当我在页面顶部显示消息时
<h:message for="addUserFormMessage">
消息显示在页面底部 当我通过萤火虫检查时,我发现以下标签正在填充p>
<ul id="javax_faces_developmentstage_messages" title="Project Stage[Development: Unhandled Messages">
<li style="color:red;">the data entered is already exists, plese reenter again </li>
</ul>
我不知道为什么消息显示在底部,因为我在页面顶部写了<h:message>标签。
谁能帮我解决这个问题?
提前致谢
【问题讨论】:
-
是否有可能您之前对
<h:messages>的实验尚未从 JSF 文件中完全删除?
标签: jsf