Метод has класса FormBuilder
Метод has класса FormBuilder проверяет,
есть ли в форме поле с указанным именем. Первым
параметром передаётся имя поля. Метод возвращает
true, если поле существует, и false в противном случае.
Синтаксис
public function has(string $name): bool
Пример
Давайте создадим форму с полем name и проверим его наличие:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentFormForms;
use SymfonyComponentFormExtensionCoreTypeTextType;
class ArticleController extends AbstractController
{
public function index(): Response
{
$form = $this->createFormBuilder()
->add('name', TextType::class)
->getForm();
$res = $form->has('name');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим наличие несуществующего поля email:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentFormForms;
use SymfonyComponentFormExtensionCoreTypeTextType;
class ArticleController extends AbstractController
{
public function index(): Response
{
$form = $this->createFormBuilder()
->add('name', TextType::class)
->getForm();
$res = $form->has('email');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте создадим форму с несколькими полями и проверим каждое из них:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentFormForms;
use SymfonyComponentFormExtensionCoreTypeTextType;
use SymfonyComponentFormExtensionCoreTypeIntegerType;
use SymfonyComponentFormExtensionCoreTypeCheckboxType;
class ArticleController extends AbstractController
{
public function index(): Response
{
$form = $this->createFormBuilder()
->add('name', TextType::class)
->add('price', IntegerType::class)
->add('active', CheckboxType::class)
->getForm();
$res = [
$form->has('name'),
$form->has('price'),
$form->has('active'),
$form->has('email')
];
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
[true, true, true, false]
Смотрите также
-
класс
FormBuilder,
который строит форму -
метод
add,
который добавляет поле в форму -
метод
remove,
который удаляет поле из формы -
метод
get,
который возвращает поле по имени