2010-06-04 2 views
1

Les exemples que j'ai consultés semblent montrer comment modifier la couleur qui s'affiche lorsque l'utilisateur survole réellement le champ de saisie de texte.Modification de la couleur par défaut sur les erreurs de validation flex

Cependant, en cas d'échec de la validation, une ligne générique textInput qill est marquée d'une ligne rouge. Mon fichier CSS utilise un habillage de bordure pour textInput, donc je ne peux pas voir cette ligne.

J'espérais qu'il y avait un moyen de mettre en évidence la zone de texte en cas d'échec de la validation, ou de réactiver la fonction de ligne rouge. Je ne veux pas me débarrasser de mon CSS car ça va complètement faire sauter mon schéma de couleurs, mais tout tweak permettant de montrer la ligne d'erreur serait très apprécié.

C'est le CSS:

TextInput, TextArea 
{ 
    border-skin: Embed(source='/../assets/images/input_bg.png', scaleGridLeft=8, scaleGridRight=20, scaleGridTop=8,scaleGridBottom=9); 
    padding-top:2; 
    padding-left:2; 
    font-size:11; 
} 

Répondre

2

tout ce qui étend UIComponent (à la fois TextInput et TextArea font) a un style appelé errorColor. Il est par défaut rouge. Vous pouvez changer cela pour ce que vous voulez. De plus, si vous avez une image que vous utilisez comme une bordure, vous devez probablement supprimer les pixels du milieu de sorte qu'il s'agit d'une bordure réelle au lieu d'une superposition.

+0

Je ne veux pas vraiment utiliser l'image comme une frontière, mais c'est la seule façon que je pouvais changer la couleur de la zone d'entrée. Je ne connais pas la couleur réelle de l'image, c'est pourquoi je ne peux pas simplement définir la couleur de fond comme étant la même que la couleur de l'image. – Babyangle86

+0

Vous devriez pouvoir utiliser l'outil Pipette de n'importe quel éditeur d'image de base pour obtenir la couleur de l'image. Ouvrez l'image dans quelque chose comme Paint, ou Paint.Net ou IrfanView, sélectionnez l'outil, puis cliquez sur l'image sur la couleur que vous voulez. – Jeff

0

La seule façon que j'ai réussi à trouver, c'est que Validator va changer le style borderColor du composant. Je ne pense pas que cela puisse être réalisé en utilisant une image - vous devrez intégrer l'image dans une sous-classe de base GraphicRectangularBorder ou similaire. Vous pouvez ensuite ajouter à votre classe de peau:

override public function styleChanged(styleProp:String):void 
{ 
    super.styleChanged(styleProp); 

    if (styleProp == "borderColor") 
    { 
     if (getStyle("borderColor") == getStyle("errorColor")) 
     { 
      // show error outline 
     } 
     else 
     { 
      // hide error outline 
     } 
    } 
} 
Questions connexes