2017-12-07 23 views
0

Symfony의 양식을 이해하려고하는데 DateType 필드를 알아야합니다.Symfony 3 jquery-ui datepicker

내 레이아웃 :

<div class="col-sm-10"> 
    <input name="{{ form.date.vars.full_name }}" id="js-datepicker" value="{{ form.date.vars.value }}" type="text" placeholder="Например: 12/11/2018 " class="form-control input-lg m-b"> 
    <div class="form-errors text-danger"> 
     {{ form_errors(form.date) }} 
    </div> 
</div> 
    <script> 
    $(function() { 
     $("#js-datepicker").datepicker({ 
      format: 'dd/MM/yyyy' 
     }); 
    }); 
</script> 

내 컨트롤러

$form = $this->createFormBuilder($client) 
     ->add('date', DateType::class) 
     ->getForm(); 

내 법인

/** 
* @ORM\Column(type="datetime") 
* 
* @var \DateTime $date 
*/ 
protected $date; 

그리고 나는 문제가있다. 내가 그것을 실행하려고하면이 오류가 있습니다.

An exception has been thrown during the rendering of a template ("Notice: Array to string conversion"). 

그러나 나는 내 실수를 이해할 수 없습니다. 도와주세요, 제발! 고맙습니다!

UPDATE :

{% for formInput in form %} 
    {{ form_label(formInput) }} 
    <div class="col-sm-10"> 
     {{ form_widget(formInput) }} 
    </div> 
    <div class="form-errors text-danger"> 
     {{ form_errors(formInput) }} 
    </div> 
{% endfor %} 

그리고 내 컨트롤러 : 1. 내가있는 form__token 라벨을 관찰 할 수있다 : 이제

$formLabelAttr = 'col-sm-2 control-label'; 
    $formInputAttr = 'col-sm-10 form-control input-lg m-b'; 

    $form = $this->createFormBuilder($client) 
     ->add('fullName', TextType::class, [ 
      'label' => 'Имя', 
      'label_attr' => [ 
       'class' => $formLabelAttr, 
      ], 
      'attr' => [ 
       'placeholder' => 'Например: Иванов Иван Иванович', 
       'class' => $formInputAttr, 
      ], 
     ]) 
     ->add('date', DateType::class, [ 
      'label' => 'Дата проведения', 
      'label_attr' => [ 
       'class' => $formLabelAttr, 
      ], 
      'attr' => [ 
       'placeholder' => 'Например: 12/12/2020', 
       'class' => $formInputAttr, 
      ], 
      'widget' => 'single_text', 
      'format' => 'dd-MM-yyyy', 
     ]) 
     ->add('diplomaNumber', HiddenType::class, ['data' => random_int(1, 200)]) 
     ->getForm(); 

, 나는이 문제가 나는 나의 나뭇 가지 코드를 재 장식 폼의 맨 아래에있는 페이지 (레이블). 2. DateType 필드에 오류가있어 양식을 제출할 수 없습니다 (값이 유효하지 않습니다). 무엇이 잘못 되었나요?

+0

먼저 필드 렌더링을 심포니 방식으로 변경하는 것이 좋습니다 - {{form_widget (form.date, { 'attr': { 'class': 'bla-bla-class'}}) }} 렌더링하고 렌더링해야하는 모든 추가 속성을 할당하십시오. 그리고 타입 클래스에서 옵션 위젯과 포맷을 살펴보십시오 - https://symfony.com/doc/current/reference/forms/types/date.html –

답변

1

날짜 필터를 추가해야합니다.

{{xxx_your_date_field | 날짜 ("m/d를/Y")}}

자세한 내용은 귀하의 formType 사용 single_text에도

twig date. 자세한 내용은 Rendering a single HTML5 Textbox

+0

고마워요! 그러나이 오류가 있습니다 ----- 서식 파일을 렌더링하는 동안 예외가 발생했습니다 ("DateTime :: __ construct() : 위치 0 (f)에서 시간 문자열 (양식 [날짜])을 파싱하지 못했습니다. : 데이터베이스에서 표준 시간대를 찾을 수 없습니다 "). –

+0

나뭇 가지 코드를 보여주세요. – habibun

+0

' ' –