Do not use validate_data with a custom array but define a new validation function for colour hex strings so you do not have to repeat the regex and settings.