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.

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#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 9 years ago by laurentj

  • Resolution set to invalid
  • Status changed from new to closed

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.regexp = /^[a-z0-9\-]+$/;

C'est du code valide en JS.

comment:2 Changed 9 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.