Недавно начал плотно знакомиться с Symfony2, до этого долгое время сидел на Kohana, начал делать формы, через FormType, основываясь на готовой Entity создается формочка через FormBuilder и вот загадка - одни поля имеют свойство required="required", а другие почему то нет. В общем особой сложности нет, понимаю что можно всё настроить через валидатор, но эта магия не дает покоя. Ниже код, думаю он больше расскажет
Вот сущность в кратце и поля которые хотелось бы чтобы были required="required"
namespace Acme\UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
class User extends BaseUser
{
.....
/**
*
* @var string
*
* @ORM\Column(name="first_name", type="string", nullable=true)
*/
protected $firstName;
/**
*
* @var string
*
* @ORM\Column(name="last_name", type="string", nullable=true)
*/
protected $lastName;
/**
*
* @var string
*
* @ORM\Column(name="phone", type="string", nullable=true)
*/
protected $phone;
.........
Вот билдер формы
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('phone')
->add('first_name')
->add('last_name')
->add('save', 'submit');
}
Создание формы
$user = $this->get('security.context')->getToken()->getUser();
$user_profile_form = $this->createForm(new UserProfileType(), $user)
->createView();
Вставка в шаблон
{{ form(user_profile_form) }}
и на выходе у нас
<div id="user_profile">
<div>
<label for="user_profile_phone">Phone</label>
<input id="user_profile_phone" type="text" name="user_profile[phone]">
</div>
<div>
<label class="required" for="user_profile_first_name">First name</label>
<input id="user_profile_first_name" type="text" value="Иван" required="required" name="user_profile[first_name]">
</div>
<div>
<label class="required" for="user_profile_last_name">Last name</label>
<input id="user_profile_last_name" type="text" required="required" name="user_profile[last_name]">
</div>
<div>
<input id="user_profile__token" type="hidden" value="iR_ZubBD0JJrTlioAktspRZQyRKS_57AqHAr58RBx0Q" name="user_profile[_token]">
</div>
First name и last name идут с required="required" а phone почему то идет без него, из за чего так происходит? Доки читал, по проекту искал эти поля, валидаторы смотрел, ничего похожего не нашёл.