我目前正在使用JSP,Java servlets。
我正在为表单添加自定义错误消息,我正在关注此网站http://materializecss.com/forms.html下的自定义错误或成功消息'下的示例。我想要做的是,一旦用户提交通过java servlet处理的信息,如果Java servlet发现用户输入错误,我想启用输入无效输入时出现的红色错误行。
我目前的代码是
<input type="email" name="email" id="email" value="${param.email}" class="validate">
<label for="email" data-error="Invalid Email" data-success="">Email</label>
每个电子邮件地址必须是唯一的,因此如果输入的电子邮件是有效的电子邮件地址,那么用户将提交表单,并且当通过java servlet进行处理时,它会发现该电子邮件已被使用并且将导致一旦页面重新加载,jsp页面中的<label>
将变为红色。
答案 0 :(得分:0)
问题的解决方案是在服务器端(java servlet)我将数据传递给参数
request.setAttribute("emailError", "error with email");
在客户端(JSP)我做了:
<input type="email" name="email" id="email" value="${param.email}" class="validate" <c:if test="${ not empty emailError}">style="border-bottom: 2.5px solid red; "</c:if> >
<label for="email" data-error="Invalid Email" data-success="">Email</label>
如果您还希望显示来自Java servlet的消息,则可以添加
title="${emailError}"
到输入标签。这将创建一个附加消息框以显示错误消息。
使用此代码,如果在服务器端发现错误,将设置一条消息,一旦JSP页面重新加载,输入行将显示红色,表示发生了错误。