form.factory
을 사용하여 양식을 만들고 나뭇 가지를 렌더링하여 양식을 렌더링합니다. 이 경우 PUT
메서드를 사용해야합니다.양식이 심포니에서 틀림 틀림 방법으로 양식
컨트롤러 :
$builder = $this->get('form.factory')->createNamedBuilder();
$form = $builder
->add('id', HiddenType::class, array('data' => $id))
->add('email', EmailType::class, array(
'required' => false,
'data' => count($res['result'][0]['email']) ? $res['result'][0]['email'] : '',
'attr' => array('class' => 'form-control label_form_symfony'),
'constraints' => array(
new Email(array('message' => 'il campo Email non è valido'))
)
))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $request->isXmlHttpRequest()) {
$data = $form->getData();
if ($form->isValid()) {
// save ...
}
}
나뭇 가지 템플릿 : 내 코드는 내가 양식을 제출하면 내 $request->getMethod()
이 PUT
{{ form_start(form,{'method':'PUT','attr':{action: path('update_xxx',{'id' : id})}}) }}
{{ form_widget(form, {'attr' : {'class' : 'label_form_symfony' } }) }}
<button type="submit" class="submit_form btn btn-default">Save</button>
<div id="feedback"></div>
{{ form_end(form) }}
하지만 내 $form->isSubmitted()
는 false
입니다. 내 HTML에서
난 숨겨진 필드가 : 내 컨트롤러 $builder->setMethod('PUT')
추가 내가 양식을 제출 때이 오류가, 내 나뭇 가지에서 'method':'PUT'
을 제거
<input type="hidden" name="_method" value="PUT">
업데이트를 This form should not contain extra fields.
with'$ builder-> setMethod ('PUT')'이 오류는'이 양식은 여분의 필드를 포함해서는 안됩니다. '' monkeyUser
값 = "PUT">'- 추가 필드입니다. –
'''Symfony가 나를 대신합니다. 이제 '메서드'를 제거합니다 : 'PUT''form Twig를 추가하고'$ builder-> setMethod ('PUT ')'을 추가하십시오. 그리고 내 HTML에는'은 그 일을하기 때문에 Symfony가 수행합니다. – monkeyUser