Filter validate

Mammouth du PHP | 725 Messages

09 août 2011, 08:46

Bonjour,

J'ai un bout de code pour verifier la longueur d'un champs "username", si je le laisse vide, il affiche le message d'erreur si j'ecris seulement un caractere, il le saute, meme s'il est moins des caracteres demandes:
<?php

$filters = array
  (
  "username" => array
    (
    "filter"=>array(FILTER_VALIDATE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES, ),
    "options"=>array
      (
      "min_range"=>5,
      "max_range"=>20
      )
    ),
    
    "username" => array(
    "filter" => array(FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$pattern)))
    ),
  
  "email" => array
    (
    "filter"=>FILTER_VALIDATE_EMAIL, 
    "options"=>array
      (
      "min_range"=>10,
      "max_range"=>30
      )
    ),
  );

$result = filter_input_array(INPUT_POST, $filters);

if (!$result["username"])
  {
  echo("Username must be a number between 5 and 20.<br />");
  }
elseif(!$result["email"])
  {
  echo("E-Mail is not valid.<br />");
  }
else
  {
  echo("User input is valid");
  }
  

?>
merci

Eléphant du PHP | 343 Messages

09 août 2011, 13:11

Pourquoi se compliquer la vie? strlen est là pour ça ;)
Développeur web

Mammouth du PHP | 725 Messages

09 août 2011, 13:53

Pourquoi se compliquer la vie? strlen est là pour ça ;)
oui je sais, mais j'ai entendu parle des filter qui font tout et facilite la tache