Bien vu, @Alistair.
Voici la génération du mois et de l'année en ASP.NET MVC. Ajoutez ceci à votre viewmodel :
public IList<SelectListItem> Months = new List<SelectListItem>() {
new SelectListItem() { Text="Jan", Value="01" },
new SelectListItem() { Text="Feb", Value="02" },
new SelectListItem() { Text="Mar", Value="03" },
new SelectListItem() { Text="Apr", Value="04" },
new SelectListItem() { Text="May", Value="05" },
new SelectListItem() { Text="Jun", Value="06" },
new SelectListItem() { Text="Jul", Value="07" },
new SelectListItem() { Text="Aug", Value="08" },
new SelectListItem() { Text="Sep", Value="09" },
new SelectListItem() { Text="Oct", Value="10" },
new SelectListItem() { Text="Nov", Value="11" },
new SelectListItem() { Text="Dec", Value="12" },
};
public IEnumerable<SelectListItem> Years
{
get
{
return new SelectList(Enumerable.Range(DateTime.Today.Year, 15));
}
}
Et ceci à votre vue :
<fieldset>
<legend>Card expiration</legend>
<div style="float: left;">
<div class="editor-label">
@Html.LabelFor(model => model.ExpirationMonth)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.ExpirationMonth, Model.Months)
@Html.ValidationMessageFor(model => model.ExpirationMonth)
</div>
</div>
<div style="float: left;">
<div class="editor-label">
@Html.LabelFor(model => model.ExpirationYear)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.ExpirationYear, Model.Years)
@Html.ValidationMessageFor(model => model.ExpirationYear)
</div>
</div>
</fieldset>
1 votes
L'incohérence entre les principaux magasins en ligne indique clairement qu'il n'existe pas de directive officielle.
10 votes
J'adore les sites qui demandent l'année d'expiration par une simple saisie de texte
2 votes
@Quentin c'est mieux qu'une validation défectueuse qui empêche la soumission, à moins que l'utilisateur sache comment utiliser les outils de développement du navigateur web.
5 votes
Alastair - Mon commentaire n'était pas destiné à être sarcastique.
1 votes
@Quention Assez juste. L'ellipse m'a troublé :-P Pour un utilisateur, c'est clairement la mise en œuvre la moins ennuyeuse, mais du point de vue du développement/des entreprises, il y aurait tellement d'entrées erronées (et cela pourrait entraîner des pertes de ventes).
0 votes
Google Play semble également faire +20 ans si vous êtes curieux des applications mobiles.