developer.jelix.org is not used any more and exists only for
history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
#1387 closed bug (invalid)
jForms attribut pattern
Reported by: | nesswaw | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | jelix:forms | Version: | 1.2.2 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Documentation needed: | no | |
Hosting Provider: | Php version: |
Description
Bonjour,
J'ai ce code dans mon fichier jForms:
<input ref="url" maxlength="64" size="64" required="true" pattern="#^[a-z0-9\-]+$#"> <label>Url</label> </input>
Quand je test mon formulaire, j'ai cette erreur JS qui apparait:
Erreur: illegal character c.regexp = #^[a-z0-9\-]+$#; ------------î (ceci est la flèche qui montre le signe...)
Il manque des guillemets simple autour de la chaîne, si je rajoute ces guillemets simple dans le fichier xml jForms:
pattern="'#^[a-z0-9\-]+$#'"
Le test passe en JS mais plus en PHP...
Du coup il faudrait modifier le fichier lib/jelix/forms/jFormsBuilderHtml.class.php ligne 317 pour rajouter ces guillemets simple automatiquement à la création du formulaire.
Avant:
$this->jsContent .="c.regexp = ".$re.";\n";
Après (ajout des ):
$this->jsContent .="c.regexp = '".$re."';\n";
Merci
Change History (2)
comment:1 Changed 10 years ago by laurentj
- Resolution set to invalid
- Status changed from new to closed
comment:2 Changed 10 years ago by nesswaw
J'en étais sur que j'avais fait une erreur...je vais aller mettre ça dans la doc...Merci pour l'aide.
Note: See
TracTickets for help on using
tickets.
Le manuel indique qu'il faut une expression régulière compatible JS et PHP. Les seuls délimiteurs compatibles acceptables par JS sont "/".
Et
C'est du code valide en JS.