Я обнаружил, что валидатор jsf, связанный с selectOneMenu, при отправке вызывается только тогда, когда selectOneMenu required = "true".
Это действительно по спецификации. Кстати, это относится и ко всем другим элементам ввода.
Как я могу решить это, чтобы вызвать валидатор без этого атрибута?
Вы не можете. Просто укажите атрибут required="true"
, если вам требуется, чтобы конечный пользователь выбрал элемент. По умолчанию это необязательно, потому что могут быть обстоятельства, когда вам не нужно, чтобы конечный пользователь выбирал элемент.