A simple image captcha implementation:a random text is converted to a distorted image, its checksum, together with the expected text are stored in a lookup table. Upon validation, the text input by the user is matched against the checksum to determine if the captcha is correct.Plan is to use it downstream on certain publicly available contact forms.
Implement a hook for widget-specific validation and use it to enforce that widgets that specify a list of options must return a value that belongs to those options