У меня проблема с ограничением NotNull
в проверке формы Symfony.
Использование следующей формы:
class SchedulableType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($options) {
$form = $event->getForm();
$form
->add('dateFrom', DateTimeType::class, array(
'constraints' => array(
new NotNull()
),
'widget' => 'single_text', // In order to manage format
'format' => 'y-MM-dd HH:mm:ss'
))
->add('dateTo', DateTimeType::class, array(
'constraints' => array(
new NotNull()
),
'widget' => 'single_text', // In order to manage format
'format' => 'y-MM-dd HH:mm:ss'
))
->add('value', $options['valueType'], $options['valueOptions']);
});
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'valueType' => null,
'valueOptions' => array(),
));
}
}
Данныев моем случае следующие:
array (size=3)
'dateFrom' => boolean false
'dateTo' => boolean false
'value' => string 'value' (length=5)
Но я получаю следующее сообщение об ошибке:
{
"status": "400",
"title": "This value should not be null.",
"source": {
"source": {
"pointer": "/SCHEDULABLE/dateFrom/0"
}
}
},
{
"status": "400",
"title": "This value should not be null.",
"source": {
"source": {
"pointer": "/SCHEDULABLE/dateTo/0"
}
}
}
Почему ограничение NotNull
приводит к ошибкеесли мое значение равно false
?
Вы можете взглянуть на класс ограничений: symfony / src / Symfony / Component / Validator / Constraints / NotNullValidator.php
PS : проверка формы используется в API, поэтому ошибка отформатирована в JSON.