Forcing ASP .Net Validators and ValidationSummary to use CssClass
Posted on September 30, 2008
Here’s something strange. If I create a validator using the following mark up:
<asp:requiredfieldvalidator id="rfv_txt" runat="server" errormessage="Required" CssClass="errorText" />
and my css class is:
errorText {
color: purple;
}
My validator still renders with red text. Checking the markup, I see that ASP .Net has added an inline style attribute (style=”color: red”). Obviously, inline styles take precedence over class styles. But why is this inline style being applied at all?
I found this blog post that fixed the issue by setting the Forecolor to Color.Empty but it could only be done server-side.
I figured there must be a way to set this client-side and after much annoyance, I found it:
<asp:requiredfieldvalidator id="rfv_txt" runat="server" errormessage="Required" CssClass="errorText" Forecolor=""/>
So in order to set the color of validators or ValidationSummary via a CSS class you must set both the CssClass property and set the Forecolor property to an empty string. Why ASP .Net? Why?
Got something to say?