Symfony предоставляет десятки валидаторов для проверки достоверности ваших данных. Это включает в себя несколько валидаторов, связанных с компьютерами и Интернетом, таких как валидатор электронной почты, валидатор IP-адреса и валидатор URL.
В Symfony 5.1 добавили новую в эту группу: валидатор имени хоста, который проверяет, что данное значение считается допустимым в качестве имени хоста:
// src/Entity/ServerSettings.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class ServerSettings
{
/**
* @Assert\Hostname(message="The server name must be a valid hostname.")
*/
protected $name;
}
Валидатор Hostname учитывает домены верхнего уровня, зарезервированные в RFC 2606 (.example.com и т. д.), поэтому вам не придется иметь дело с этими особыми случаями. Требование о включении домена верхнего уровня или нет также настраивается, как вы можете прочитать в документации этого валидатора.