public static function check(FormChecker_Field &$oField, $params)
 {
     if (is_null($oField->getValue()) && !$oField->isRequired()) {
         return true;
     }
     if (!preg_match($params['pattern'], $oField->getValue())) {
         return $oField->raiseError(sprintf($params['error'], $oField->getLabel()));
     }
     return true;
 }
Exemple #2
0
 public static function check(FormChecker_Field &$oField, $params)
 {
     if (!is_array($params)) {
         return $oField->raiseError('Les clés possibles doivent être fournies via un tableau associatif');
     }
     if (is_null($oField->getValue()) && !$oField->isRequired()) {
         return true;
     }
     if (!array_key_exists($oField->getValue(), $params)) {
         return $oField->raiseError(sprintf('La clé "%s" n\'est pas permise pour le champ "%s"', $oField->getValue(), $oField->getLabel()));
     }
     return true;
 }
Exemple #3
0
 public static function check(FormChecker_Field &$oField, $params)
 {
     if (is_array($params) || !isset($params['value'])) {
         return $oField->raiseError('La valeur attendue doit être scalaire');
     }
     if (is_null($oField->getValue()) && !$oField->isRequired()) {
         return true;
     }
     if ($oField->getValue() != $params['value']) {
         $err_msg = isset($params['error']) ? $params['error'] : sprintf('La valeur du champ "%s" n\'est pas valide', $oField->getLabel());
         return $oField->raiseError($err_msg);
     }
     return true;
 }
Exemple #4
0
 public static function check(FormChecker_Field &$oField, $params)
 {
     $value = $oField->getValue();
     if (is_null($value) && !$oField->isRequired()) {
         return true;
     }
     if (!mb_eregi('^[a-z0-9\\._-]+@[a-z0-9\\._-]+$', $value)) {
         //      if ( !mb_eregi( '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $value ) )
         return $oField->raiseError('Votre email n\'est pas correct');
     } else {
         $tmp = explode('@', $value);
         if (!is_array($tmp)) {
             return false;
         } elseif (!dns_check_record($tmp[1], 'MX')) {
             return $oField->raiseError('Votre nom de domaine n\'est pas valide, veuillez vérifier votre saisie');
         }
     }
     return true;
 }
 public static function check(FormChecker_Field &$oField, $params)
 {
     $value = $oField->getValue();
     if (!isset($value['value'])) {
         return $oField->raiseError('Wrong data structure for upload field');
     }
     $newValue = $value['value'];
     $oldValue = isset($value['old']) ? $value['old'] : null;
     // Si on a une ancienne valeur et que rien de nouveau n'a été soumis, on s'arrête là
     if (!is_null($oldValue) && UPLOAD_ERR_NO_FILE & $newValue['error']) {
         return true;
     }
     // Il y a une nouvelle valeur > on vérifie le type mime si nécessaire
     if (!is_null($newValue['tmp_name']) && UPLOAD_ERR_OK == $newValue['error']) {
         if (!is_null($params) && '*' != $params) {
             // On a spécifié des types mimes autorisés
             $allowedTypes = explode(';', $params);
             if (is_null($newValue['type'])) {
                 return $oField->raiseError(sprintf('Le type du fichier pour "%s" n\'a pu être déterminé', $oField->getLabel()));
             } elseif (!in_array($newValue['type'], $allowedTypes)) {
                 return $oField->raiseError(sprintf('[%s] Ce type de fichier n\'est pas autorisé : %s', $oField->getLabel(), $params));
             }
         }
         return true;
     }
     if (UPLOAD_ERR_NO_FILE & $newValue['error']) {
         return !$oField->isRequired() ? true : $oField->raiseError(sprintf('Veuillez remplir le champ "%s"', $oField->getLabel()));
     }
     // Si on est pas encore sortie de la méthode c'est qu'il y a eu un soucis
     // on revérifie la valeur de $newValue[ 'error' ]
     if ((UPLOAD_ERR_INI_SIZE | UPLOAD_ERR_FORM_SIZE) & $newValue['error']) {
         $maxSize = $oField->getForm()->getContext()->getParam('MAX_FILE_SIZE');
         if (is_null($maxSize)) {
             $maxSize = ini_get('upload_max_filesize');
         } elseif (is_numeric($maxSize)) {
             $maxSize .= ' octets';
         }
         return $oField->raiseError(sprintf('Le fichier "%s" est trop volumineux - limite %s', $oField->getLabel(), $maxSize));
     } elseif (UPLOAD_ERR_PARTIAL & $newValue['error']) {
         return $oField->raiseError(sprintf('Le fichier "%s" n\'a pas été entièrement téléchargé', $oField->getLabel()));
     }
     return false;
 }
 public static function check(FormChecker_Field &$oField, $params)
 {
     $value = $oField->getValue();
     if (is_null($value) && !$oField->isRequired()) {
         return true;
     }
     switch ($params) {
         case 'YYYY-mm-dd':
         case 'Y-m-d':
             $regPattern = '^[0-9]{4}-[0-9]{2}-[0-9]{2}$';
             break;
         case 'jj-mm-aaaa':
         case 'd-m-Y':
             $regPattern = '^[0-9]{2}-[0-9]{2}-[0-9]{4}$';
             break;
     }
     if (!mb_eregi($regPattern, $value)) {
         return $oField->raiseError('Mauvais format de date : ' . $params);
     }
     return true;
 }