Я использую FOSUserBundle, но я переопределил контроллеры по умолчанию, чтобы создать свою собственную логику и формы.Проверка файла формы Symfony
Вот мой ProfileFormType.php
namespace UserBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class ProfileFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('avatar', 'file', array('required' => false, 'data_class' => null));
$builder->add('phone', 'text', array('required' => false));
$builder->add('gender', 'choice', array(
'choices' => array('not specifed' => 'Не указан', 'male' => 'Мужской', 'female' => 'Женский'),
));
$builder->add('birthDate', 'date', array('years' => range(date('Y') -100, date('Y'))));
$builder->add('locationCountry', 'text', array('required' => false));
$builder->add('locationCity', 'text', array('required' => false));
}
public function getParent()
{
return 'fos_user_profile';
}
public function getName()
{
return 'app_user_profile';
}
}
На данный момент, нет никакой проверки расширения файла. Как я должен проверять расширения? Какова наилучшая практика?
Я попытался следующий
$builder->add('avatar', 'file', array('required' => false, 'data_class' => null, 'mimeType' => 'image/jpeg'));
Но она возвращается ошибка. Кстати, я хочу принимать только файлы .png и .jpeg.
Спасибо
Пробовали ли вы объявить конкретные проверки в вашем профиле Entity? – scoolnico
Сущность - это Пользователь, я не сохраняю файл точно в db. Я сохраняю имя файла, а затем получаю это имя из db. –