У меня есть код, который более или менее похож на это:
Это не мой фактический код, а просто для того, чтобы показать концепцию того, что я пытаюсь сделать:
У меня есть форма, в которой требуется каждое отдельное поле, а затем некоторые проверки проводятся на значениях нескольких полей в комбинации. переопределить ">class testForm extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefault(
'constraints',
[new Callback(
['callback' => function (
$payload,
ExecutionContextInterface $context
)
{
$data = $context->getObject()->getData();
if (strcasecmp($data['field1'], $data['field2']))
{
$context
->buildViolation('fields must be equal')
->atPath('[field1]')
->addViolation();
}
}
]
)]
);
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field1', TextType::class, ['constraints' => [new NotBlank]])
->add('field2', TextType::class, ['constraints' => [new NotBlank]]);
}
}
< /code>
Проблема, с которой я столкнулся с этим кодом, заключается в том, что оно приведет уведомление, когда вы отправляете с пустыми полями (нуль не разрешено в качестве параметров для таких функций, как strcasecmp () , поскольку Php 8.0).
Affict Это связано с тем, что родительская проверка выполняется до проверки ребенка, поэтому он проверяет, только если у поля есть значения после проверки верхнего уровня Запустить. Глядя на документацию Symfony, существует достоверное ограничение , которое, кажется, делает именно это, но, кажется, работает только с сущностями (моя форма не использует сущность, но простой DTO).
Поэтому я по -прежнему задаюсь вопросом о том, как либо сделать достоверной работать без сущностей, либо другого способа исправить ограничения на это.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ore-parent
Подтвердить DTOS DILDFORM перед родителем ⇐ Php
Кемеровские программисты php общаются здесь
1740310262
Anonymous
У меня есть код, который более или менее похож на это:
Это не мой фактический код, а просто для того, чтобы показать концепцию того, что я пытаюсь сделать:
У меня есть форма, в которой требуется каждое отдельное поле, а затем некоторые проверки проводятся на значениях нескольких полей в комбинации. переопределить ">class testForm extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefault(
'constraints',
[new Callback(
['callback' => function (
$payload,
ExecutionContextInterface $context
)
{
$data = $context->getObject()->getData();
if (strcasecmp($data['field1'], $data['field2']))
{
$context
->buildViolation('fields must be equal')
->atPath('[field1]')
->addViolation();
}
}
]
)]
);
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field1', TextType::class, ['constraints' => [new NotBlank]])
->add('field2', TextType::class, ['constraints' => [new NotBlank]]);
}
}
< /code>
Проблема, с которой я столкнулся с этим кодом, заключается в том, что оно приведет уведомление, когда вы отправляете с пустыми полями (нуль не разрешено в качестве параметров для таких функций, как strcasecmp () , поскольку Php 8.0).
Affict Это связано с тем, что родительская проверка выполняется до проверки ребенка, поэтому он проверяет, только если у поля есть значения после проверки верхнего уровня Запустить. Глядя на документацию Symfony, существует достоверное ограничение , которое, кажется, делает именно это, но, кажется, работает только с сущностями (моя форма не использует сущность, но простой DTO).
Поэтому я по -прежнему задаюсь вопросом о том, как либо сделать достоверной работать без сущностей, либо другого способа исправить ограничения на это.
Подробнее здесь: [url]https://stackoverflow.com/questions/79461017/validate-childform-dtos-before-parent[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия