Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mais par où il est passé ?

25 réponses
Avatar
Gloops
Bonjour tout le monde,

Je suis en train de déboguer du JavaScript en pas à pas sous Firefox,
j'arrive avec result = true, sur ceci :

if (!result) {
this.formatAndAdd(element, rule);
return false;
}

Je m'attends à aller au-delà du if, non ?

Eh bien quand j'appuie sur F11, je me retrouve sur le return false.

Est-ce compréhensible ?

Au demeurant, en fonction du contexte c'est le résultat attendu, puisque
ça se passe dans jquery.validate.js dans la fonction check, et que le
contrôle appelant est une zone de texte, donc pas "cochable".

Mais n'empêche qu'en envoyant une condition fausse à un if, me retrouver
sur la deuxième instruction à l'intérieur ...

5 réponses

1 2 3
Avatar
Gloops
Promis un jour je donnerai suite. J'ai pris beaucoup de retard
là-dessus, et là il me tombe encore des trucs. Alors vous comprenez
qu'une question posée par curiosité passe après les questions bloquantes ...

Le 04/03/2015 01:17, SAM a écrit :
Le 03/03/15 20:35, Gloops a écrit :
Le 03/03/2015 18:54, SAM a écrit :
Il n'est quand même pas si compliqué de se faire sa petite fonction de
vérif de formulaire soi-même à la main dans le code JavaScript (le
*vrai*).
Au moins on peut arriver à se le déboguer tout seul !



En principe, l'idée, c'était que le programmeur peut s'intéresser au fil
principal de son application, et que les petites décorations comme
vérifier que la donnée entrée est numérique ou date,



??? normalement il n'y a qu'à vérifier si c'est numérique (là où du
numérique est requis)
ou que là ici c'est bien une date (entrée au format requis)




Exactement.
J'ai déjà programmé en assembleur, histoire de dire que mettre les mains
dans le cambouis à l'occasion ça ne me fait pas peur. Mais dans un site
web qui doit être mis en ligne au bout de deux heures, conception de la
base de données comprise, si on peut éviter de parcourir le champ
caractère par caractère pour dire si il est numérique ou date, c'est
bienvenu.


éventuellement dans un intervalle,



avec des dates converties en nombres et précises au 1/1000 de seconde ...



On peut concevoir des intervalles avec différentes précisions sur le
nombre. Le fait que ça soit compris entre 1 et 5 je présume pas qu'on
puisse avoir 1,001 ou qu'on n'ait que des entiers. C'est à préciser par
ailleurs.


ou encore chaîne non vide, éventuellement email valide,



la validité d'un e-mail restera du pipeau, qque soit la méthode envisagée




C'est vrai que la validité d'une adresse mail peut être considérée à
plusieurs niveaux. Là il s'agit de vérifier qu'on a bien un arobase
dedans et plus loin un point avant la fin. C'est le premier niveau, ça
évite de mettre une date de naissance comme adresse mail et inversement.

Après, nous sommes d'accord qu'on peut envoyer un ping sur le domaine
pour vérifier si il y a une réponse, envoyer un mail test pour vérifier
qu'il n'y a pas un bounce de retour, et on peut aussi pousser le bouchon
jusqu'à envoyer une jolie petite bafouille pour expliquer au
destinataire ce qu'on a l'intention de faire de son adresse mail, et lui
demander de bien vouloir accuser réception, et considérer l'adresse mail
comme valable seulement après réception de l'accusé de réception.
Pour vendre des aspirateurs il n'y aura pas beaucoup d'adresses
valables, mais pour les adhérents d'une association ça doit pouvoir bien
marcher.


est déjà traité, sous réserve de l'appeler correctement à partir des
déclarations de la base de données.



Ha! bien sûr ! si on a déjà l'adresse c'est plus facile de la contrôler ;-)



Là, tu confonds. La déclaration dans la base de données concerne le type
de la donnée et le format qu'on s'attend à y trouver.
Si je me rappelle bien on peut juste dire que c'est une donnée de type
mail, et on aura une alerte en rouge si il n'y a pas une arobase et un
point. Si l'utilisateur a autorisé les scripts on a cette alerte avant
que les données soient envoyées sur le serveur, ça gagne du temps.


Sauf que ... pour ce qui est des intervalles de dates c'est raté, ça
fait (plus de) cinq ans que chacun se démerde tout seul ou avec les
forums.



Et le Dr Stockton ?




Je crois qu'il ne faut pas le confondre avec le Dr House, n'est-ce pas ?



Cordialement,



De même
Avatar
Gloops
Le 06/03/2015 01:43, Dr J R Stockton a écrit :
In fr.comp.lang.javascript message <54f64f03$0$3090$
r>, Wed, 4 Mar 2015 01:17:06, SAM
valid> posted:


Et le Dr Stockton ?




Il y a cinq valeurs possibles pour le nombre de millisecondes dans une
journée JavaScript; par conséquent, dans le travail administratif, il
peut être préférable d'utiliser un nombre de jours civils plutôt que des
millisecondes. D'autre part, dans le travail scientifique il faut
utiliser des intervalles de longueur uniforme, par exemple secondes.

Si l'heure réelle ne est pas nécessaire, noter que les fonctions de
l'UTC sont sensiblement plus vite que les non-UTC, comme ce est évident
avec le recul.

Pour vérifier qu'une chaîne de date A M J numérique est valide, se
assurer que D n'a pas plus de deux chiffres (et que A> 99?), mettre les
chiffres en new Date (,,), ou dans des new Date (Date.UTC (, ,)), puis
lire le mois et vérifiez qu'il accepte. IIRC, le test échoue avec la
date 0000/02/29.






Hé hé, dire que pour répondre à Sam j'ai cherché Stockton sur Google ...
Désolé.

Je viens de lire ceci rapidement, il me semble que c'est à relire le
jour où on programme un client mail.

Pour une date fournie au format jj/MM/aaaa, j'ai établi assez rapidement
l'algorithme exprimé en C#.

Pour sortir de l'objet du newsgroup, après le souci devient que le
module est présent en plusieurs versions et que donc plutôt que modifier
un des modules il faut dériver la fonction dans un nouveau module.
Avatar
Gloops
Le 03/03/2015 20:43, Gloops a écrit :
num = 1
a = "Choisissez le numéro " + num



J'ai un peu simplifié. La concaténation avec conversion automatique
s'obtient par &, et non +.

Un point délicat avec ça : ça ne passait pas la migration d'Access 95 à
Access 97. Donc, pour une application qui devait tourner sous les deux,
il fallait remettre +, et du coup faire les conversions de façon
explicite. Mais comme la déclaration implicite du module dans Access 95
n'était pas reconnue dans Access 97, il fallait préciser le module en
préfixant.

ça donne donc :

a$ = "Choisissez le numéro " + VBA.Str$(num)

Là où ça devient sympa à lire c'est quand il y a une dizaine de
concaténations pour la même variable.

Pour se lancer là-dedans ce n'était pas inutile de s'être fait les dents
sous Excel avant :)

Pour les versions suivantes il y avait déjà moins de gymnastique de ce
genre.


J'avoue que je ne me suis pas cassé la tête pour le choix du nom de
variable dans l'exemple.



Attention, multiplier une chaîne de caractères par 1 pour la convertir
en nombre, ça ne marche qu'en Javascript. En VBA on utilisera plutôt
Val() -dûment préfixé, dans le cadre évoqué.
Avatar
SAM
Le 11/03/15 00:01, Gloops a écrit :

Pour se lancer là-dedans ce n'était pas inutile de s'être fait les dents
sous Excel avant :)



Surtout quand on y a fait ses classes en macros d'avant le vba !!!
J'en suis resté à cette époque (et en ait tout oublié :-( )
Excel.2 c'était quand même bien ! Ha! Le bon temps ! Le monochrome !
Pas comme toutes ces nouvelles versions pleines de poudre aux yeux !

Attention, multiplier une chaîne de caractères par 1 pour la convertir
en nombre, ça ne marche qu'en Javascript. En VBA on utilisera plutôt
Val() -dûment préfixé, dans le cadre évoqué.



Je m'en fous ! Me suis touj refusé à tenter d'apprendre le vba :-(




Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Gloops
Le 11/03/2015 02:32, SAM a écrit :
Le 11/03/15 00:01, Gloops a écrit :

Pour se lancer là-dedans ce n'était pas inutile de s'être fait les dents
sous Excel avant :)



Surtout quand on y a fait ses classes en macros d'avant le vba !!!
J'en suis resté à cette époque (et en ait tout oublié :-( )
Excel.2 c'était quand même bien ! Ha! Le bon temps ! Le monochrome !
Pas comme toutes ces nouvelles versions pleines de poudre aux yeux !



Ah oui, avec des écrans verts, et d'autres rouges ?

A propos de poudre aux yeux : si tu peux arriver sur ta première mission
en connaissant suffisamment ton sujet pour en mettre plein les yeux du
client, a priori c'est un bon début :)



Attention, multiplier une chaîne de caractères par 1 pour la convertir
en nombre, ça ne marche qu'en Javascript. En VBA on utilisera plutôt
Val() -dûment préfixé, dans le cadre évoqué.



Je m'en fous ! Me suis touj refusé à tenter d'apprendre le vba :-(




Je n'ai pas regretté : j'ai gagné ma croûte avec ça un paquet d'années.
ça a débouché sur VB6, et maintenant pour migrer des applications VB6 on
est content de trouver des gens qui connaissent.

Pour changer de plateforme il ne faut pas trop louper son virage par les
temps qui courent, mais ça, ça nous emmènerait sur un autre terrain.
1 2 3