我在Action类中使用validate()
方法使用struts2验证。
我使用addFieldError()
方法添加FieldErrors。字段错误显示在表单的每个字段的顶部。
动作类: (这会验证setMapServerDetails操作)
/*---------------------VALIDATION------------------------------------*/
public void validateSetMapServerDetails(){
if(getMapServer().getServerName().length() == 0){
addFieldError("mapServer.serverName", "Name is Required");
}
}
问题是错误以纯文本显示,我希望错误为红色。
我应该如何将其更改为红色?
修改 JSP:
<title>Configure Map Server</title>
<s:head />
</head>
<body>
<s:form action="setMapServerDetails" validate="true">
<s:textfield name="mapServer.serverName" label="Server Name"></s:textfield>
<s:textfield name="mapServer.serverIp" label="Server IP"></s:textfield>
<s:textfield name="mapServer.serverPort" label="Server Port"></s:textfield>
<s:textfield name="mapServer.applicationName" label="Application Name"></s:textfield>
<s:textfield name="mapServer.remarks" label="Remarks"></s:textfield>
<s:submit value="Save"></s:submit>
</s:form>
答案 0 :(得分:6)
Struts2将errorMessage
CSS类添加到错误消息中。你只需要将它添加到你的CSS:
.errorMessage {
color: red;
}
当您添加<s:head>
标记时,它会向您的网页添加默认样式errorMessage
声明如下:
.errorMessage {
font-weight: bold;
color: red;
}
答案 1 :(得分:1)
在Struts2中addFieldError()
方法向视图添加<s:fielderror>
标记,标记的默认css类名称为errorMessage
。
.errorMessage {
background-color:#FFCCCC;
border:1px solid #CC0000;
width:400px;
margin-bottom:8px;
}
如果您想要更灵活(即使用自己的css类),可以使用
<s:fielderror cssClass="yourownCSS">
<s:param>mapServer.serverName</s:param>
</s:fielderror>
答案 2 :(得分:0)
使用<div></div>
并提供style
属性
<s:if test="hasActionMessages()">
<div style="color: green;">
<s:actionmessage/>
</div>
</s:if>
<s:if test="hasActionErrors()">
<div style="color: red;">
<s:actionerror/>
</div>
</s:if>
答案 3 :(得分:0)
Ranuka表示很好,哪个会奏效。
有时最好知道为什么我们必须给.erroMessage
提供css。
当您使用struts验证时,如果存在验证错误或转换错误,struts将生成错误消息并在标记中默认保留该错误消息。
该标签名称为
<span class="errorMessage">Your Error message here</span>
代码。
因此,在上面的标记中,很明显span标记类为errorMessage
,现在您可以将css代码应用于此类errorMessage
。
这就是为什么我们正在使用
.errorMessage {
color: red;
}
此处.errorMessage
表示您正在为class="errorMessage"
的所有标记应用css,这些标记只是错误消息标记。
上述说明将帮助您了解为什么必须将css应用于.errorMessage