Правило Blank
Правило Blank вешается на поле формы
и проверяет, что его значение пустое. Пустым
считается null, пустая строка, пустой массив
или объект Countable с нулевым количеством
элементов. Правило удобно использовать для полей,
которые должны оставаться незаполненными.
Синтаксис
#[Blank(message: 'message')]
Пример
Давайте создадим форму с полем text,
к которому применим правило Blank:
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints\Blank;
class ArticleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder->add('text', TextType::class, [
'constraints' => [
new Blank([
'message' => 'The field must be blank.',
]),
],
]);
}
}
?>
Пример
Давайте проверим работу правила в контроллере:
<?php
namespace App\Controller;
use App\Form\ArticleType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_form')]
public function form(Request $request): Response
{
$form = $this->createForm(ArticleType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
return new Response('form is valid');
}
return $this->render('article/form.html.twig', [
'form' => $form,
]);
}
}
?>
Если отправить форму с пустым полем text,
результат выполнения кода:
"form is valid"
Если отправить форму со значением 'abcde' в поле text,
результат выполнения кода:
"The field must be blank."