Вы можете определить пользовательскую аннотацию для добавления валидатора в ваш установщик, но есть ли причина, по которой вы не хотите просто вставлять валидацию в ваш бин без аннотации? Механизм аннотации может быть трудным для понимания другими, если им когда-либо понадобится работать с вашим кодом.
Я бы сделал это следующим образом: вместо того, чтобы ваше свойство было String, определите свою собственную HtmlString (при условии, что эквивалентный класс еще не существует в стандартной библиотеке), который может быть создан только с допустимым HTML. Тогда сделайте так, чтобы ваше свойство bean было такого типа. Это решит проблему проверки в вашем компоненте.
Определите методы проверки в HtmlString в соответствии с вашими требованиями, чтобы каждый экземпляр HtmlString был действительным HTML; затем просто определите метод toString. Этот метод, вероятно, будет намного проще для других.