CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Contrôle Formulaire

Greezy_51
Greezy_51
Niveau 4
07 juillet 2015 à 21:04:24

Bonsoir à tous,

Je voudrais faire un contrôle d'une date dans un formulaire, la date rentrée dans le formulaire ne doit pas dépassée 10jours de la date d'aujourd'hui,
Exemple : Date saisie : 10/07/2015 Date d'aujourd'hui : 07/07/2015 -> C'est bon,
Date saisie : 25/07/2015 Date d'aujourd'hui : 07/07/2015 -> C'est pas bon.
Comment faire ? Peu importe javascript php html...

Merci !

Darkandgel
Darkandgel
Niveau 10
07 juillet 2015 à 21:08:44

Peu importe javascript php html...

Non.
Si c'est important pour ne pas faire planter ton prog, alors tu fais obligatoirement une verif coté serveur.
Si c'est juste pour le confort de ton user, tu peux te permettre de faire ça en JS.

Pour php, regarde du coté des fonctions Date et DateTime

Greezy_51
Greezy_51
Niveau 4
07 juillet 2015 à 21:39:16

Et en JS ça donne quoi ?

Darkandgel
Darkandgel
Niveau 10
07 juillet 2015 à 22:34:53

Je pense que tu peux faire du pur html5 avec une regex un peu tordue
Sinon en JS il doit bien y avoir un objet date ou une connerie pour gérer les temps.
j'ai pas envie de chercher, ce langage me file des boutons

TW97
TW97
Niveau 7
09 juillet 2015 à 19:36:39

Oui en JS il y a aussi un objet Date, voilà comment faire :

- Tout d'abord il te faut une fonction pour convertir une chaîne de caractères en objet date :
function stringToDate(str){ var arr = str.split('/'); return new Date(arr[2], parseInt(arr[1]) - 1, arr[0]); }

- Ensuite, une fois que tu as tes 2 objets Date tu fais la différence entre les 2 (attention en JS les timestamp sont un peu spéciaux ils sont en millisecondes et non en secondes comme un vrai timestamp) :
function dateDiff(str1, str2){ var date1 = stringToDate(str1), date2 = stringToDate(str2); return Math.round(Math.abs(date1 - date2) / 86400000); // 3600000 = nombre de millisecondes ds 1h; 3600000 * 24 = 24h soit un jour }

Pour calculer le nombre de jours entre tes 2 dates il faut faire : dateDiff('09/07/2015', '25/07/2015')
L'ordre des dates passées en paramètre n'a pas d'importance (grâce à la fonction abs), tu peux donc faire aussi : dateDiff('25/07/2015', '09/07/2015')

Il y a donc 16 jours de différence entre aujourd'hui (le 9) et le 25 :) Le formulaire ne peut donc pas être envoyé :rire2:

Greezy_51
Greezy_51
Niveau 4
13 juillet 2015 à 09:06:32

Finalement j'ai fais le contrôle en php.

$duree = (strtotime($date) - strtotime($dateJ));
$duree = $duree/86400;

if($duree < 0 || $duree > 10)
{
echo 'Erreur de date';
}

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment