У меня проблема с проверкой в Symfony 4.
У меня есть такой код:
Это мой класс сущностей:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity(repositoryClass="App\Repository\AdminsRepository")
* @UniqueEntity("email")
* @UniqueEntity("login")
*/
class Admins
{
.....
/**
* @ORM\Column(type="boolean")
* @Assert\Type(
* type="integer",
* message="The value {{ value }} is not a valid {{ type }}."
* )
*/
private $type;
public function getId(): ?int
{
return $this->id;
}
...
public function getType(): ?bool
{
return $this->type;
}
public function setType(bool $type): self
{
$this->type = $type;
return $this;
}
}
Это мой класс контроллера:
...
class AdminController extends AbstractController {
.......
/**
* @Route("/admin/add", name="admin_add")
*/
public function add(Request $request) {
$admins_object = new Admins();
$form = $this->createFormBuilder($admins_object)
->add('first_name', TextType::class, ['label' => 'Imię'])
->add('last_name', TextType::class, ['label' => 'Nazwisko'])
->add('login', TextType::class, ['label' => 'Login'])
->add('email', EmailType::class, ['label' => 'E-mail'])
->add('password', TextType::class, ['label' => 'Hasło'])
->add('type', IntegerType::class, ['label' => 'Typ'])
->add('save', SubmitType::class, ['label' => 'Zapisz'])
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($admins_object);
$entityManager->flush();
$this->addFlash(
'notice', 'Dane zostały poprawnie zapisane!'
);
return $this->redirect($request->getUri());
}
return $this->render('admin/add.html.twig', [
'form' => $form->createView()
]);
}
.......
}
и мой взгляд:
{{ form(form, {'attr': {'novalidate': 'novalidate'}}) }}
Когда я помещаю какое-то целое число в поле типа (например, «1») - валидатор показывает мне сообщение типа «Поле типа не является допустимым целым числом ...».
Вы можете мне помочь? Почему целочисленная проверка не работает?