Честно говоря, это зависит от того, как вы хотите, чтобы ваше приложение работало. Если вы хотите в реальном времени проверять вводимые пользователем данные, например, в форме подписки, вам определенно не нужны предупреждения JavaScript, когда вы покидаете текстовое поле. Так что в этом случае я бы предпочел встроенный способ, который описывает Sohnee.
Но если вы хотите показать сообщение об ошибке критического действия приложения, я бы пошел с предупреждением javascript, или если событие обратной передачи вызывает предупреждения (в коде позади), вы могли бы записать их в контейнер ( или около того), который будет виден при визуализации страницы.