Ticket #1377 (closed enhancement: fixed)
Check plus précis d'un datatypestring
| Reported by: | hadrien | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Jelix 1.2.3 |
| Component: | jelix:forms | Version: | 1.2 |
| Severity: | normal | Keywords: | jforms |
| Cc: | Php version: | ||
| Hosting Provider: | Blocked By: | ||
| Documentation needed: | no | Blocking: |
Description
Lors d'un check d'un datatype String avec un controle sur la longueur de la valeur, il faut compter le nombre de caractères plus précisément. J'ai rajouté un trim et un comptage unique des groupes d'espaces pour éviter qu'il ne soit trop facile de gruger le controle en rajoutant des caractères blancs.
diff basé sur Jelix 1.2
diff --git a/lib/jelix/utils/jDatatype.class.php b/lib/jelix/utils/jDatatype.class.php
index ace93e8..27dbec4 100644
--- a/lib/jelix/utils/jDatatype.class.php
+++ b/lib/jelix/utils/jDatatype.class.php
@@ -87,7 +87,14 @@ class jDatatypeString extends jDatatype {
public function check($value){
if($this->hasFacets){
- $len = iconv_strlen($value, $GLOBALS['gJConfig']->charset);
+ $len = iconv_strlen(
+ trim(
+ preg_replace(
+ '@\s+@', ' ', $value
+ )
+ ),
+ $GLOBALS['gJConfig']->charset
+ );
if($this->length !== null && $len != $this->length)
return false;
if($this->minLength !== null && $len < $this->minLength)
Change History
Note: See
TracTickets for help on using
tickets.
