Forum Moderators: buckworks
What is the thinking behind this? I've never been able to come up with a logical explanation as to why defaulting to the current date might be in any way useful to the person checking out. Do you do it? If so why? I'm perfectly happy to be proved wrong, but I think it's an absurd idea.
Whilst we're on the subject - dropdown menu or input text boxes with validation? There are arguments for and against each. What do you think?
Tip: in the U.S. it's not called expiry, but "expiration." Better yet to say "good thru"
Ah, but a good shopping cart would pick up where the order is being placed from and deliver the appropriate term :-)
Some people need a visual reminder that their card has expired. It's the only valid date that isn't completely arbitrary.
Do you mean before they even select from the dropdown menu? Interesting, and a good point - although again, a good shopping cart wouldn't allow selection of a month in the past, e.g. as soon as the user selected "September" and then "2007", they should be prompted to choose a new card, or double check the expiry date.
However, if this really was the reasoning, shouldn't the expiry date be the first field they fill in before any other credit card info? Annoying to select card type, type in name and number etc., and *then* find it's expired. If you're going that far, the year should be selected first, and then the month menu updated to only show future months... although that may be veering a little too far from web standards!
Annoying to select card type
Continuing on your thought of "if you're going to go this far" why make the user select a card type anyway? That is something I've never understood. If it starts with a 4 it's a Visa, 5 is MasterCard, 6 Discover, 3 Amex, etc. No need to ask what type of card they just entered.
What is the thinking behind this?
You have less distance to scroll through the select list to whatever your expiration actually is than if you set the select index to the top. It is the closest to "the future" you can set it without guessing. Although I always set mine to 0, blank.
dropdown menu or input text boxes with validation?
"The right tool for the job" - since select list consists of a limited group of data, this is the appropriate control. If you have no set list of data, you use text/textarea inputs. Plus if given the opportunity to input an error, users will invariably find it. :-)
An example is some CC processors require two digits for each data value. Some require two and four (09 2007). Yes you could perform adjusting functions on input, but using a select list for this kind of input makes one less point of input error.
An opposite and more annoying example is say, the subject field of a contact form in a select list with no "other" box and text field. What this says is "this is the list of things you can contact us about, all other inquiries kindly go away."
If someone knows a card number, but does not know what type of card it is can cause the transaction to be flagged -- it shows the person does not have the card in-hand, (or, minimally that they have made a mistake in data entry).
It's kind of like a cop asking for your ID -- then asking you how old you are if they think it's not really you or a it's fake ID, (e.g.- license says DOB 6/15/1982 and you reply that you are 32 years old -- but the date today is Oct. 9, 2007 which would make you 25 years old)... I've see this on "COPS" more than once.
You don't need a default for the dropdown, meaning it will be blank if not set by the user.
Possibly one of the most important points - if you *do* default it to a specific month and year, you have no way of validating whether it has been filled in or not.
As the customer should go to a confirm screen, and then submit their card details, if they have overlooked filling in the expiry date (i.e. left it on 'this month and year') they will be give a card authentication error, whereas if you leave it blank, you can pick up the error straight away.