改变fielderror颜色?

时间:2014-01-29 04:59:29

标签: java jsp validation java-ee struts2

我在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>

4 个答案:

答案 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