Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Discussion: Cake php 1.2

  1. #1
    Invité de passage
    Femme Profil pro
    Inscrit en
    novembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : novembre 2011
    Messages : 1
    Points : 0
    Points
    0

    Par défaut Cake php 1.2

    Salut tous le monde,
    je suis en cours de développer un blog avec cake php1.2. Mais je rencontrer un problème au niveaux de système de commentaire
    Voilà mon code dans "postController" :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function voir($id){ /* action voir pour afficher les commentaires */
    			if (!empty($this->data)){ 
    			if($this->data->validate())
    			 {
    			    $this->Session->setFlash('Votre commentaire a bien postée');
    			    $this->Comment->save($this->data);
     
    			}else{
    			$this->Session->setFlash('Merci de valider vos champs');
    			$this->validateErrors($this->Comment);/* Tableau envoi directement les erreurs */
    			}}
    					   $q=$this->Post->find('first',array('conditions'=>array('Post.id'=>$id)));
    			$this->set('a',$q);}
    et voilà le code du model voir.ctp

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
       class Comment extends AppModel{
            var $name='Comment'; /*Pour la compatibilité avec PHP 4  */
    		var $belongsTo='Post';	
    		var $validate = array(
    		       'pseudo'=>array(
    					     'rule'=>'alphaNumeric',
    						 'message'=>'Pseudo non valide'
    						 ),
    				'mail'=>array(
    							 'rule'=>'email',
    							 'required'=>false,
    							 'allowEmpty'=>true,
    							 'message'=>"Votre email n'est pas valide"));
    			 function beforeSave()/* fonction utilisé aprés chaque sauvegarde*/{
    							   App::import('Sanitize');
    							   $this->data['Comment']['contenu']=Sanitize::html($this->data['Comment']['contenu']);
    							   return true;// Sauvegarde de donnée dans la base
     
    							 }
       }
     
     
    ?>

  2. #2
    Nouveau Membre du Club
    Développeur Web
    Inscrit en
    juin 2010
    Messages
    18
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2010
    Messages : 18
    Points : 32
    Points
    32

    Par défaut

    Pour valider manuellement c'est $this->ModelName->validates() et pas $this->data->validate()
    http://book.cakephp.org/1.2/en/view/...the-Controller

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •