$formatter->
setLenient(false
);
if ('choice' ===
$options['widget'
]) { // Only pass a subset of the options to children
$yearOptions['choices'
] =
$this->
formatTimestamps($formatter, '/y+/',
$this->
listYears($options['years'
]));
$yearOptions['placeholder'
] =
$options['placeholder'
]['year'
];
$yearOptions['choice_translation_domain'
] =
$options['choice_translation_domain'
]['year'
];
$monthOptions['choices'
] =
$this->
formatTimestamps($formatter, '/[M|L]+/',
$this->
listMonths($options['months'
]));
$monthOptions['placeholder'
] =
$options['placeholder'
]['month'
];
$monthOptions['choice_translation_domain'
] =
$options['choice_translation_domain'
]['month'
];
$dayOptions['choices'
] =
$this->
formatTimestamps($formatter, '/d+/',
$this->
listDays($options['days'
]));
$dayOptions['placeholder'
] =
$options['placeholder'
]['day'
];
$dayOptions['choice_translation_domain'
] =
$options['choice_translation_domain'
]['day'
];
} // Append generic carry-along options
foreach (['required', 'translation_domain'
] as $passOpt) { $yearOptions[$passOpt] =
$monthOptions[$passOpt] =
$dayOptions[$passOpt] =
$options[$passOpt];
} $builder ->
add('year', self::WIDGETS
[$options['widget'
]],
$yearOptions)