2015-08-28 5 views
2

У меня есть проблема с этим DatePicker: http://bootstrap-datepicker.readthedocs.org/en/stable/index.htmlSymfony самозагрузка-DatePicker - дата по умолчанию сохраняется

Я работаю с каркасом симфони, на последнюю версию.

Я делаю все CSS/JS файл включить, я добавить класс на моем поле для JS, и я использую эту конфигурацию:

$('.datepick').datepicker({ 
     language: "fr", 
     todayBtn: "linked", 
     keyboardNavigation: false, 
     forceParse: false, 
     calendarWeeks: true, 
     autoclose: true 
    }); 

Таким образом, в очередной шаг, я могу выбрать дату с моей DatePicker.

Моя проблема: Когда я не выбираю дату в форме (поле optionnal), текущая дата всегда сохраняется в поле.

Я просто хочу удалить это поведение: когда дата не выбрана, дата не сохраняется в сущности. Я не знаю, как это решить.

У кого-нибудь есть идея?

-

Thx вам помочь

мое поле в formtype является:

$builder->add('dateNaissance', 'birthday', array(
      'label' => 'form.tiers.dateNaissance', 'translation_domain' => 'GBPCoreBundle', 'required' => false, 
      'widget' => 'single_text', 'format' => 'dd/MM/yyyy', 'input' => 'datetime', 'attr' => array('class' => 'datepick') 
     )) 

мой взгляд:

{{ form_row(form.dateNaissance) }} 

Моя сущность является:

/** 
* @var \Date 
* 
* @ORM\Column(name="dateNaissance", type="date", nullable=true) 
* @Assert\Date(message="La date de naissance {{ value }} doit être un type {{ type }} valide.") 
*/ 
private $dateNaissance; 

и мой consctructor пуст, я не ставил значение по умолчанию

Мой контроллер очень простой, я не действовать на этом поле

+0

вы можете предоставить скрипку –

+0

я просто не могу показать вам правильное функционирование библиотеки с скрипкой: си попытаться сделать один иначе вы можете увидеть [демо] (HTTP: // eternicode.github.io/bootstrap-datepicker/?markup=input&format=&weekStart=&startDate=&endDate=&startView=0&m inViewMode = 0 & todayBtn = linked & clearBtn = true & language = fr & orientation = auto & multidate = & multidateSeparator = & calendarWeeks = on & autoclose = on # sandbox) – Quovandius

+0

я обновляю свой пост своим кодом – Quovandius

ответ

0

Во-первых, проверьте ваше поле даты объект имеет обнуляемым вариант, как nullable=true

Затем, если проблема не устранена, и вы не можете найти какой-либо вариант для этого трюка, вы можете использовать Javascript.

При загрузке документа, установите значение Datepicker с пустой строкой, используя JQuery это как:

$(document).ready(function(){ 
    $('#dateField').val(''); 
}); 

Теперь, значение по умолчанию является пустым, и если изменение значения (пользователь может выбрать дату), вы экономите дата, иначе вы сохраните NULL или ''

+0

thx для вашего ответа, я уже использую опцию 'nullable = true' и ничего не меняется. Я пробовал трюк javascript, но ничего не изменилось. – Quovandius

+0

Я пытаюсь удалить библиотеку javascript и дать классическое поле для даты и его одно и то же поведение ... когда дата не выбрана, текущая дата сохраняется. Я попробую с преобразователем данных сейчас – Quovandius

+0

Вы пытались установить пустую стоимость по умолчанию для своей сущности? Как $ dateField = NULL; – chalasr

Смежные вопросы