2016-06-21 2 views
1

나는 당신이 (다른 사이)을 선택할 수 있습니다 주문 배치 할 양식을 가지고 :DateType 필드 - 만 가능합니다 오늘 후에 일을 선택

  • 날짜 takout
  • 시간 테이크 아웃

그것을 다음과 같습니다

enter image description here

제에 대한 부분의 코드를

$form = $this->createFormBuilder($order) 
    ->add('dateTakeout', DateType::class, array('label' => "Kies uw datum voor afhaling *", 'required' => true)) 
    ->add('hourTakeout', TimeType::class, array('label' => "Kies het gewenste uur van afhalen *", 'required' => true)); 

하지만 지금은 당신이 단지 + 에만 오후 3 사이의 자정까지 오늘 이후 날짜를 선택 수 싶습니다 다음이 포함 m이 같다.

그러나이 형식을 미리 예측하는 방법에 대한 단서가 없습니다. 누군가 나를 도울 수 있습니까?

UPDATE : 내 드롭 다운에 옵션의 수를 제한하고자하는

. 그래서 그들은 2016 년 6 월 21 일 또는 오후 1시와 같은 시간을 선택할 수 없습니다.

+0

시간을 제한하거나 범위 내에 있는지 확인하려는 경우 ->이 두 가지 방법은 서로 다른 접근 방식입니다. 접근 방식과 수용 가능한 것. –

+0

@ AlvinBunk, 가능성을 제한하고 싶습니다. 그래서 2016 년 6 월 21 일 오후 1시와 같은 날을 선택할 수 없습니다. – nielsv

답변

1

은 당신이 할 수있는 여러 가지 방법이 있습니다 : 날짜는 미래에있는 경우

당신은 현재의 날짜를 얻을 수는 다음 위의 컨트롤러처럼 볼 (의 7 월 1 일 가정 해 봅시다). 그런 다음 Flashbag 메시지를 만들고 Flash 나뭇 가지 템플릿으로 리디렉션하십시오.

시간에 대해 지정한 시간 범위 내에 시간 (분)이 포함되는지 확인하고, 플래시 오류 메시지를 작성하지 않고 나뭇 가지로 리디렉션하는 경우에도 동일한 작업을 수행 할 수 있습니다.

대체 옵션 (날짜가 더 오래 걸리는 개체 인 Entity를 기반으로 양식 클래스를 만드는 것이 더 어렵습니다. 이상적으로 하나의 엔티티에 날짜가 모두 &입니다. 이것에 대한 제안을 할 수는 없지만 이것을 시도하지 않았습니다. 그러나 이것이 가능해야한다는 것을 알고 있습니다.

Forms Classes are explained in this link.

이 질문에 대한 답변을 보내주십시오.

편집 # 2. 귀하의 질문을 통해 두 번째로 진행 한 후, 난 당신이 TimeType :: 클래스 필드를 사용하여이 작업을 수행 할 수 있습니다 참조 :이 오후 3에서 선택할 수있는 시간을 제한

->add('hourTakeout', TimeType::class, array(
     'label' => "Kies het gewenste uur van afhalen *", 
     'required' => true, 
     'widget' => 'choice', 
     'hours' => range(15,23), 
     )); 

- 오후 11 (I의 범위를 사용하여 24 시간 형식으로 넣어 함수를 사용하는 것이 좋습니다 시간 만 수정하는 경우 희망적으로 이해할 수 있습니다.

+0

Did 이게 너를 전혀 도울거야? –

관련 문제