Валидация должна быть не только на фронте, но и на беке. Поскольку POST запрос можно отправить не только через форму, но и напрямую, обратившить по адресу обработчика формы. Отправлять такой запрос могут спам-роботы, ушлые пользователи, которые ищут уязвимости и т.д. В самом примитивном случае можно сделать так:
$name = !empty($_POST['name'])?$_POST['name']:false;
$phone = !empty($_POST['phone'])?$_POST['phone']:false;
if($name and $phone){
//тут отправляем форму
}else{
//тут сообщаем об ошибке
}
В
не примитивном случае, должна быть более строгая валидация и в клиентской части приложения и в серверной. Например: в имени могу быть только буквы,пробелы и дефисы, а строка номера телефона после очистки от прочих символов должна содержать 10 числел. Сама форма должна быть защищена от
CSRF,
XSS и прочих типовых уязвимостей. Если форма публичная (например форма контактов, как в вашем случае) должен присутствовать механизм от защиты отправки формы ботами, например
reCAPTCHA.