symfony - Form default values is not shown -
the problem is. i'm trying set defalut form values, , there's no way can achieve this.
page layout
{% extends bundle ~ "bundle::reg.html.twig" %} {% form_theme regform 'acmebundle:form:order_type_fields.html.twig' %} {% block content %} <form action="{{ path('reg') }}" {{ form_enctype(regform) }} method="post"> <div> {{ form_widget( regform.firstname )}} </div> {{ form_rest( regform )}} <input type="submit> </form> {% endblock %} fields layout
{% block text_widget %} {% spaceless %} <label>{{label}}</label> <input type="text" {{ block('widget_attributes') }} value="{{ value }}"> {% endspaceless %} {% endblock text_widget %} controller
$user = new user(); $regform = $this->get('form.factory')->create(new regform(), $user); return $this->render("frontendbundle:order:type.html.twig", array( 'regform' => $regform->createview(), ); form
class regform extends abstracttype { public function buildform( formbuilder $builder, array $options ){ $builder->add( 'firstname', 'text', array( 'label' => ' ', 'data' => 'enter name here' ) ); } public function getname() { return 'reg'; } } i've tried set default field data in many ways:
in controller defining firstname field (
$user->setfirstname('enter name here'); ).
in form builder using setdata method (
$builder->add( 'firstname', 'text', array( 'label' => ' ' ) )->setdata(array('firstname' => 'enter name here')); or
$builder->setdata(array('firstname' => 'enter name here')); all other form stuff work's fine. example, can set label 'firstname' without problems. so, missing?
upd: after first answer decided ask direct question: why doesn't work default value this, while label works fine:
$builder->add('firstname', 'text', array('label' => 'name', 'data' => 'andrew')); ?
maybe mistakes in twig templates?
have tried in form type:
$builder ->add('firstname','hidden', array( 'attr' => array( 'value' => 'enter name here', ), )) it seems me, though, want use placeholder (html5) instead:
$builder ->add('firstname','hidden', array( 'attr' => array( 'placeholder' => 'enter name here', ), ))
Comments
Post a Comment