Я хотел бы прояснить что-то, что vee-validate не предотвращает события "щелчка", просто когда вы нажимаете снаружи, вы размываете поле. Таким образом, вызывая проверку при появлении сообщения об ошибке, он выталкивает другие элементы из-за своей высоты строки, которая нажимает кнопку / ссылку вниз, заставляя вас щелкать снаружи.
Я бы сказал, что это не ви-validate проблема, а скорее проблема CSS, в идеале, если вы отображаете сообщения об ошибках под полями, вы должны компенсировать дополнительное пространство, чтобы предотвратить переход пользовательского интерфейса, что также раздражает пользователей.
Простойmargin-bottom
, равное высоте строки сообщения об ошибке, должно сработать, другой подход заключается в том, чтобы иметь сообщение об абсолютной ошибке с относительной оберткой вокруг них, иметь нижний отступ, равный высоте строки, и это также будет работать.
.InputMargin:not(.has-error) {
margin-bottom: 16px;
}
.InputPadding:not(.has-error) {
position: relative;
padding-bottom: 16px;
}
.InputPadding:not(.has-error) span {
position: absolute;
bottom: 0;
left: 0;
}
Вы просматриваете пример здесь: https://jsfiddle.net/logaretm/4mx0hy58/17/
Теперь, если выбранная вами среда пользовательского интерфейса не справляется с этим делом, вы можете сообщить об этом PR или открыть вопрос вих проектный трекер.