Symfony2.4 form 'sollte Dieses Formular nicht enthalten zusätzliche Felder' Fehler
Ich versuche zu bauen, die app basiert auf der REST-api ang AngularJS. Ich habe nach diesem tutorial http://npmasters.com/2012/11/25/Symfony2-Rest-FOSRestBundle.html aber einige details ( abgeschrieben Methoden ) und jetzt, wenn ich post zu erstellen, die neue Einheit, die ich bekommen 'sollte Dieses Formular nicht enthalten zusätzliche Felder' - Fehler.
class MainController extends Controller
{
public function indexAction(Request $request)
{
$form = $this->createForm(new TaskType(),null,array('action' => $this->generateUrl('post_tasks').'.json'))
->add('submit','submit');
$note_form = $this->createForm(new NoteType())
->add('submit','submit');
return $this->render('MyBundle:Main:index.html.twig',
array(
'form'=>$form->createView(),
'note_form'=>$note_form->createView(),
)
);
}
}
mein Formular TaskType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('timeStart','datetime',array(
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'yyyy-MM-dd',
'data' => new \DateTime('now')
))
->add('timeStop','datetime',array(
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'yyyy-MM-dd',
'data' => new \DateTime('now')
))
->add('project')
->add('descriptionTask')
->add('isCompleted',null,array('required' => false))
->add('isVisible',null,array('required' => false))
;
}
gerade jetzt in meiner Sicht ich bin rendering nur eine form, ABER ich BIN IN DER Testphase:
{%extends 'MyBundle::layout.html.twig' %}
{%block content %}
<div ng-view></div>
{{ form(form) }}
{% endblock %}
- UND das ist der REST-controller, der soll flush bestimmten Entität:
public function cpostAction(Request $request)
{
$entity = new Task();
$form = $this->createForm(new TaskType(), $entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->redirectView(
$this->generateUrl(
'get_organisation',
array('id' => $entity->getId())
),
Codes::HTTP_CREATED
);
}
return array(
'form' => $form,
);
}
SELTSAME SACHE: wenn ich den gleichen code aus REST-controller MainController, dann ist validiert und neue Entität ist, wird geleert, aber irgendwie REST-controller-Fehler...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sein, weil, wenn Sie die Erzeugung der form, die Sie hinzufügen submit-buttons, aber wenn Sie sind, validieren Sie Sie nicht. versuchen:
Den submit-button ist technisch ein Feld, obwohl symfony-nicht-zuordnen einer Entität Eigenschaft standardmäßig. Wenn Sie also generieren Sie das Formular mit einem submit-button und dann schicken Sie das Formular das Formular, das Sie erzeugen, in den validation-controller-Aktion muss auch ein submit-button.
Wenn Sie möchten, dass der validator ignorieren, zusätzliche Felder, die Sie sollten versuchen, die übergabe
'allow_extra_fields' => true
als eine option, um den FormBuilder.allow_extra_fields
option wurde Hinzugefügt, in Symfony v2.6Wenn Sie wollen, deaktivieren Sie die Felder, Validierung, müssen Sie
Und in buildForm Methode:
Weitere details: http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html#cookbook-dynamic-form-modification-suppressing-form-validation
Wenn Sie das hinzufügen einer einzigen SubmitType button oder ähnliches, die Lösung verwenden Sie Chausser angegeben
Jedoch, im Fall Sie sind mit einem CollectionType und der Einbettung einer Reihe von sub-Formen, müssen Sie include 'allow_add' => stimmt in Ihren Parametern, die für diesen Datentyp. Zum Beispiel, in Ihrem EntityType-form-builder:
Stellen Sie sicher, dass Sie tun, dass für alle Ebenen der Einbettung, wenn Sie mehrere Ebenen haben.