Jump to content

Validate::isColor() trop permissif ?


Tiger-222

Recommended Posts

La RegExp qui valide une couleur est trop permissive :

return preg_match('/^(#[0-9a-fA-F]{6}|[a-zA-Z0-9-]*)$/', $color);

Les codes hexa tel que #C00000 sont bien traités. Cependant, les couleurs vides ou même zizi sont valides... Les développeurs ont voulu permettre le nom des couleurs comme white, beige ou même chucknorris, mais il faudrait une liste de mots clefs valides à la limite.

 

Y a-t-il eu débat au sein de l'équipe à ce propos ? Est-ce qu'une alternative serait trop gourmande ou inenvisageable (il y a 140 mots clefs) ?

 

Une idée :

return (preg_match('/^#[0-9a-fA-F]{6}$/', $color) || in_array($color, $css_colors_names));

(Je peux proposer un patch sur GitHub si cela s'avère utile.)

Edited by Tiger-222 (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...