質問

必要なフィールドバリデータのデフォルトの色を変更できないようです。ソースでは:

<span class="required">*</span>
<asp:RequiredFieldValidator ID="valReq_txtTracks" runat="server"
    ControlToValidate="txtTracks"
    Display="Dynamic" />

.skinファイルにあるもの:

<asp:RequiredFieldValidator runat="server" 
    CssClass="error-text"
    ErrorMessage="required" />

レンダリングされたソースには次のように表示されます:

<span class="required">*</span>
<span id="ctl00_ctl00_cphContent_cphContent_valReq_txtTracks" class="error-text" style="color:Red;display:none;">required</span>

&quot; style = color:Red;&quot;に注意してください。行く必要があります。インラインCSSであるため、cssクラスでオーバーライドすることはできません。どうすればよいですか

役に立ちましたか?

解決

RequiredFieldValidator.ForeColorがありますプロパティを設定して、色を制御できます。 CSSで色を設定する場合は、ForeColor =&quot;&quot;を設定する必要があることに注意してください。コントロールでクリアします。

他のヒント

これは古いスレッドであることは知っていますが、この別の日に遭遇しました。スタイルシートを設定しても、バリデータのテキストの色が上書きされないというのは奇妙なことです。私の場合、テキストの色をオーバーライドしたいさまざまなバリデーターと拡張バリデーターがたくさんあったので、テーマとスキンファイルの代わりに、BaseValidatorコントロールのレンダリングを処理するカスタムコントロールアダプターを作成しました。レンダリングメソッド内では、 ForeColor = Color.Empty を設定するだけです。うまくいけば、これはこの状況に遭遇し、あらゆる種類のバリデーター(必須フィールド、正規表現、比較など)のテキストの色をオーバーライドしたい他の人々に役立つことを願っています。

スキンファイルに空の文字列を含むスタイル属性を追加しようとしましたか:

<asp:RequiredFieldValidator runat="server" 
    CssClass="error-text"
    style=""
    ErrorMessage="required" />

cssクラスで!importantタグを使用してインラインcssをオーバーライドする場所を読みました...

!important を使用すると、FirefoxとIEで正常に機能するように見えますが、何らかの理由でGoogle Chromeでは機能しません。Chromeのシェアはまだ非常に低くなっています。

.form_error
{
    font: bold 15px arial black,arial,verdana,helvetica !important; 
    color: #ff0000 !important;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top