I am creating a credit card form in Drupal. I need a date select field where users can select their credit card expiry date, which consists of only Month and Year -No Day.
The Drupal form #type
'date' produces a date chooser, which has day-month-year
option. I just need month-year
. Any help?
Using the Date API module (part of the Date module), you can do something like this....
<?php
$form['payment_expirationDate'] = array(
'#type' => 'date_select',
'#title' => t('Expiration Date:'),
'#date_format' => 'm-Y',
'#default_value' => $expirationDate,
'#date_year_range' => '-1:+10',
'#required' => TRUE,
'#date_label_position' => 'within'
);
?>
The date_select type will give you select box form elements for your field. And the #date_format array key allows you to use a PHP date format string to control what select boxes appear and what goes inside them.
Go for two select boxes and pre populate the fields with month and years!
'#type' => 'select', '#options' => array( '1' => 'January', '2' => 'February', . . . '12' => 'December', ),
Same way for the years. You can generate the year array using simple php code and then use it in the option instead of giving all the years manually!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With