@MainMaster

Как сделать груповую проверку форму в Symfony 4.4.8?

Возник вопрос: у меня есть такая форма
namespace App\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\Url;
/**
 * Class CommonFieldType
 * Implements adjacent fields for the short link form and the file upload form
 * @package App\Form
 */
class CommonFieldType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('url',TextType::class,['constraints' => new Url()])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            // Configure your form options here
        ]);
    }
}

В Symfony есть стандартный фильтр для проверки url

Symfony\Component\Validator\Constraints\Url


Что бы его использовать я пишу

['constraints' => new Url()]


Но мне нужно проверить еще максимальную длину как это сделать? Есть такой способ

['constraints' => new Length(['max' => 255])]


Но так же поле еще может быть пустым Но как мне объединить эти три проверки? То есть условие проверки формы: если не пустая проверить на валидность url и на длину В офицальной документации сказано

If you are using validation groups, you need to either reference the Default group when creating the form, or set the correct group on the constraint you are adding: new NotBlank(['groups' => ['create', 'update']]);


Но если честно мне это вообще не помогло, подскажите как сделать?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы