У моего объекта User есть несколько свойств:
private $id;
/**
Assert\Email
*/
private $email;
/**
* @Assert\Length( min=6, minMessage="Password is too short (min 6 symbols)" )
*/
private $password;
Я пытаюсь создать форму для смены пароля:
createFormBuilder(null, ??? data-class=UserEntity ??? )
->add('YES_CHANGE_PASS',CheckboxType::class,['required'=>false])
->add('old_password',PasswordType::class,['required'=>false])
->add('new_password', RepeatedType::class,['required'=>false])
Проблема: если я установил 'data-class = UserEntity :: class 'к этой Форме, он перестает работать (конечно, потому что у моей сущности нет свойства OLD_PASSWORD \ NEW_PASSWORD). Если я не установлю 'data-class', форма, очевидно, не будет наследовать никаких ограничений (например, ограничение пароля @Assert \ Length (min = 6))
Решение # 1 Мне не нравится: hardcode all необходимые ограничения прямо в функции createFormBuilder. Мне не нравится этот способ, потому что если однажды я захочу изменить пароль minLength, мне придется пробежаться по всему проекту в поисках таких форм, чтобы отредактировать это
Решение №2 сумасшествие: добавьте все дополнительные поля моей сущности, так что это позволит мне использовать «data-class: UserEntity» ... и ограничения ... и проверять ... но это явно плохое решение
Любые подсказки, пожалуйста?