Использовать оба. Атрибут required
(и другие методы проверки на стороне клиента) предоставляют пользователям проверку перед отправкой, позволяя им исправить свои ошибки перед отправкой.Но, в конечном итоге, у вас есть , чтобы проверить все входящие данные на стороне сервера, а также убедиться, что вы ничего не сохранили.