我有一個這樣的用戶實體類: namespace AppBundle \ Entity;Symfony表單驗證基本表單
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\OneToOne;
use Doctrine\ORM\Mapping\JoinColumn;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="clients")
*/
class Clients
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=false)
* @Assert\NotBlank(
* groups={"registration"},
* message = "Il campo nome non può essere vuoto."
*)
*/
private $name;
然後,我有一個ClientsType這樣的:
namespace AppBundle\Form;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class ClientsType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('name');
}
public function getName() {
return "Clients";
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Clients',
'validation_groups' => array('registration'),
));
}
}
而且我我的控制器:
if ($request->isMethod('POST')) {
$client = new Clients();
$form = $this->createForm(ClientsType::class, $client);
$form->handleRequest($request);
$data = $form->getData();
print_r($data);
if ($form->isValid()) {
echo "yes";
}
else{
echo "no";
}
die();
}
我我的觀點有一個簡單的HTML表單。
<input type="text" class="form-control" value="{{last_name}}" id="name" name="name" placeholder="Nome">
的問題是,如果我發送或不「名」我總是收到「不」 ......
謝謝...法比奧。
? – xabbuh
「$ res = $ form-> getErrors(); print_r($ res);」我收到一個loooooong響應(有一些對象...我認爲更多的2000行...沒有print_r是空的字符串)。如果我使用「$ form-> getErrorsAsString()」我收到了「試圖調用類」Symfony \ Component \ Form \ Form「中名爲」getErrorsAsString「的未定義方法。謝謝! – eclipse91
我嘗試使用$ string =(string)$ form-> getErrors(true,false);但是我收到一個空字符串... :( – eclipse91