Мне кажется, что ваш пользовательский интерфейс не заставляет пользователя вводить определенную дату, а представляет собой шаблон, который совпадает с несколькими датами. Вы должны использовать несколько полей с флажками для этого; что-то вроде:
☑ Year: [ 2009]
☑ Month: [12]
☐ Day: [ ] (field disabled)
Если присутствующие единицы всегда должны быть смежными сериями (например, 2009-12, но никогда не -12-03 или 2009 - * - 03), снимите флажок Год и снимите каждый флажок, если предыдущий снят (с включенным месяцем).