Я должен был сделать что-то подобное несколько лет назад, и тогда я использовал 1.1.
в итоге мы создали обязательные валидаторы полей, но отключили их.
затем при загрузке мы перебираем словарь валидатора, включаем их и проверяем, прошли ли они. если любой из них прошел, мы прервали цикл и продолжили выполнение, в противном случае, если все они потерпели неудачу, мы отобразили предупреждение. К сожалению, это потребует обратной передачи.
Если вы хотите выполнить это на стороне клиента, вы можете написать простую функцию javascript, которая позаботится об этом перед обратной передачей.
для каждого элемента управления поместите событие onBlur. javascript проверит наличие значения в поле и поддержит флаг. затем перед отправкой вы должны проверить флаг и разрешить отправку или показать предупреждение.