[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вопрос по symfony2
Bolik
Привет,

вот недавно решил перейти на фреймворки и переписать одно приложение на symfony2. вчера начал разбирать тему валидации форм и столкнулся с проблемой. у меня в базе данных 4 таблицы, для каждой из них есть класс в папке entities, все они в одном бандле.

как подключить валидацию для каждого класса отдельно? в интернете множество примеров валидации для одного класса, но нет для нескольких. может я чего-то недосмотрел? может архитектура приложения неправильная?

Спасибо!
Игорь_Vasinsky
а подключать нужный хелпер в нужном классе не вариант?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Bolik
а подробнее?
у меня валидатор лежит в src/Booking/bookingBundle/Resources/config/validation.yml где прописана строка Booking\BookingBundle\Entity\User: т.е. этот валидатор использую для класса user. как создать другой валидатор для другого класса? где его сохранить и как подключить?

сорри за такие возможно глупые вопросы, все мы когда-то начинали )
Игорь_Vasinsky
по гугли группы валидации или валидационные группы, если я тебя правильно понял

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Dezigo
Создай папку Form/UserType.php
Мой пример:
<?php
namespace Trucking\AdminBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints;

class UserType extends AbstractType {

public function buildForm(FormBuilderInterface $builder, array $options) {

$builder
->add("username","text",array(
"label" => "Name",
'attr' => array(
'class' => 'input-xlarge',
),

'constraints' => new Constraints\Length(array('min' => 3))
))
->
add("password","password",array(
"label" => "Password",
'attr' => array(
'class' => 'input-xlarge',
),

'constraints' => new Constraints\Length(array('min' => 3))
))
->
add("companies","entity",array(
'label' => 'Companies',
'class' => 'TruckingMainBundle:Company' ,
'property' => 'name'
))
->
add("description","text",array(
"label" => "Description",
'attr' => array(
'class' => 'input-xlarge'
),
'constraints' => new Constraints\NotBlank()
));

}

public function getName()
{
return 'trucking_adminbundle_usertype';
}
}


В контроллере пиши это

$user = new \Trucking\MainBundle\Entity\Users();
$form = $this->createForm(new \Trucking\AdminBundle\Form\UserType(), $user);


Простая проверка кокретной формы, через модель.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.