Comment faire pour afficher un mois de l'année déroulant dans Symfony2
Dans mon application, l'utilisateur hsa de donner une date en sélectionnant le mois et l'année dans les deux listes déroulantes. Comment puis-je y parvenir?
Voici ce que j'ai essayé jusqu'à présent :
Dans mon Formulaire :
$builder->add('date1', 'date', array(
'widget' => 'choice',
'empty_value' => '',
'format' => 'MMMM-yyyy',
'input' => 'datetime',
'years' => range(date('Y'), date('Y') - 30, -1)
)
qui fonctionne réellement et l'affiche exactement ce que je veux mais lors de la validation du formulaire, j'obtiens une erreur :
This value is not valid
Une capture d'écran du résultat voulu :
Actuellement, il n'existe pas de solution facile pour votre problème. Btw, j'ai eu le même problème il ya quelques jours, mais le mien est sur minutes.. j'ai soumettre une PR (pas encore fusionné), si vous le souhaitez, vous pouvez ajouter votre fonction 🙂
Salut, trois ans plus tard, est-il une solution facile, quelque chose comme
Salut, trois ans plus tard, est-il une solution facile, quelque chose comme
$builder->add('mydate', 'date', array( 'format'=> 'ONLY YEAR')
?OriginalL'auteur i.am.michiel | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Exemple de carte de crédit date d'expiration:
Ensuite, vous devez rendre ce champ manuellement.
Votre formulaire de template twig:
Primordial
date_pattern
permet de masquer les jours sélectionnez. Vous obtiendrez mois /année format.OriginalL'auteur Jekis
Très simple, datetime nécessite la journée!
Vous avez besoin à la sortie de la journée, quelque chose comme ceci:
TWIG:
Mais encore sf2 a besoin de savoir à propos de la
day
, de sorte que vous ne pouvez faire qu'une seule option, et de ne pas empty_value pour elle, comme dans mon exemple ci-dessusCela ne fonctionne plus comme Symfony 2.1 le format est vérifié la présence de Y, M et D symboles. Voir github.com/symfony/symfony/issues/8345
OriginalL'auteur Oleg Andreyev
@Oleg était assez proche de la réponse correcte. Vous devez utiliser un convertisseur vue pour vous assurer que le DateTime obtient un jour.
Créer un transformateur:
Créer un template twig où vous utilisez un formulaire personnalisé thème dans le fichier lui-même:
Références:
OriginalL'auteur Tobias Nyholm
Je travail sur un formulaire personnalisé de type qui permettrait de résoudre un tel problème. La solution est basée sur @oleg-andreyev proposé. La logique enveloppé d'un formulaire type.
Utilisation:
Le formulaire type de code:
Vous pouvez copier\coller ou vous inscrire payum bundle et l'utilisation de ce type de (sera disponible dans la prochaine version majeure).
OriginalL'auteur Maksim Kotlyar
Je ne suis pas à l'aide de la liste déroulante, mais bootstrap-datetimepicker dans
single_text
. Pour moi, pour sauver le mois et l'année dans des champs distincts dans la base de données serait difficile, parce que je vais commander d'ici cette date. J'ai donc décidé de toujours enregistrer le premier jour du mois choisi. Je suis en utilisant DatetimepickerBundle, et mon formulaire personnalisé de type ressemble à ça:Et le résultat:
OriginalL'auteur Tanya