RequiredFieldValidator - Comment se débarrasser de la couleur de police rouge par défaut

StackOverflow https://stackoverflow.com/questions/219783

  •  03-07-2019
  •  | 
  •  

Question

Je ne peux pas sembler changer la couleur par défaut du validateur de champ requis. Dans le source, il est:

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

Voici ce que j'ai dans mon fichier .skin:

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

Dans la source rendue, je vois:

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

Notez le "style = color: Red;". Cela doit aller. Je ne peux pas le remplacer par une classe css parce que c'est un CSS en ligne. Que dois-je faire?

Était-ce utile?

La solution

Il existe un RequiredFieldValidalValidator.ForeColor. propriété que vous pouvez définir pour contrôler la couleur. Notez que si vous souhaitez définir la couleur en CSS, vous devez définir ForeColor = " " pour l'effacer sur le contrôle.

Autres conseils

Je sais que c'est un vieux fil, mais je suis tombé dessus un autre jour. Il est plutôt étrange que les paramètres de la feuille de style ne remplacent pas la couleur du texte du validateur. Dans mon cas, j'ai eu tout un tas de validateurs différents et de validateurs étendus pour lesquels je voulais remplacer la couleur du texte; ainsi, au lieu d'un thème et d'un fichier de skin, j'ai créé un adaptateur de contrôle personnalisé qui gère le rendu du contrôle BaseValidator. Dans la méthode de rendu, je viens de définir ForeColor = Color.Empty . J'espère que cela aidera les autres personnes qui ont connu cette situation et qui souhaitent remplacer la couleur du texte pour tous les types de validateurs (champ obligatoire, expression régulière, comparaison, ...).

Avez-vous essayé d'ajouter un attribut de style avec une chaîne vide dans le fichier de skin:

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

J'ai lu quelque part l'utilisation de la balise! important dans votre classe css pour remplacer le css en ligne ...

L'utilisation de ! important semble fonctionner correctement dans Firefox et IE, mais pour une raison quelconque, pas dans Google Chrome ... rien de grave, la part de Chrome est encore très faible.

.form_error
{
    font: bold 15px arial black,arial,verdana,helvetica !important; 
    color: #ff0000 !important;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top