Bonjour tout le monde,

Concernant le Tutoriel vidéo CakePHP : Développer un site avec CakePHP, Jour 2, j'essaie d'autoriser les images avec l'extension en majuscule, ce qui n'est pas le cas dans le tuto.

Une modif simple à faire à priori, sauf que je n'y arrive pas et je ne vois pas d’où vient le problème. Dans la règle de validation, j'ai ajouté un i pour rendre le pattern insensible à la casse.

public $validate = array(
        'url' => array(
            'rule' => '/^.*\.(jpg|png|jpeg)$/i',
            'allowEmpty' => true,
            'message' => "Le fichier n'est pas une image valide"
        )
    );

Une idée ?

2 réponses


Lartak
Réponse acceptée

Bonsoir.
Tu veux faire une validation d'une image via url ou avec upload du fichier ?
Si tu fais avec upload du fichier, il te suffit de mettre la règle de validation extension, exemple :

public $validate = array(
    'tonChamp' => array(
        'rule' => array('extension', array('jpeg', 'png', 'jpg')),
        'allowEmpty' => true,
        'message' => 'Merci de soumettre une image valide.'
    )
);

<u>Source :</u> Validation::extension
Je ne pense pas que cette règle soit limitée à la casse, à vérifier.

</lex>
Auteur

Merci Lartak11, en fait les deux solutions fonctionnent, mais la tienne est plus propre. J'ai toujours mon problème, mais il ne vient pas de là apparemment je vais donc ouvrir un autre sujet encore merci pour m'avoir fait découvrir la méthode validation extension.