J'essaye d'ajouter une mise en page pour une application cakephp mais maintenant mon message de validation n'est plus affiché. Lors de la validation d'un commentaire sur une entrée de blog, le message de validation supposé être en haut ne s'affiche pas.Message de validation manquant dans l'application cakephp
Répondre
Si vous changer la mise en page signifie que vous avez manqué d'ajouter
<?php
if ($this->Session->check('Message.flash')){
echo $this->Session->flash();
}
?>
avant la
Autres est possible dans le contrôleur courant.
Rechercher si vous avez du code comme:
$this->Session->setFlash('...');
Le premier code est responsable de l'affichage du message, tandis que le second est chargé d'établir le message.
Mais le code sera certainement aider plus :)
Voici ma fonction add dans comments_controller.php
function add(){
debug($this->data);
//if the user submitted a comment post
if (!empty($this->data)){
//display the 'add view'
$this->Comment->create();
if ($this->MathCaptcha->validates($this->data['Comment']['security_code'])) {
if ($this->Comment->save($this->data)){
$this->Session->setFlash(__('The Comment has been added.', true));
$this->redirect('/posts/index/'.$this->data['Comment']['post_id']);
}
//failed validation
else{
debug($this->data);
$this->Session->setFlash(__('Comment could not be saved. Please try again.', true));
}
}
else {
$this->Session->setFlash(__('Please enter the correct answer to the math question.', true));
$this->redirect('/posts/index/'.$this->data['Comment']['post_id']);
}
Voici mon entry.ctp où mes messages et commentaires résident:
<div id="article">
<h2><?php echo $entry[0]['Post']['title']; ?></h2>
<p class="date"><em>Modified:</em> <?php $date = new DateTime($entry[0]['Post']['modified']);
echo $date->format('Y-m-d');?></p>
<p class="date"><em>Author:</em> <?php echo $entry[0]['User']['username']; ?></p>
<p class="intro"><?php echo $entry[0]['Post']['content']; ?></p>
<h2>Comments:</h2>
<div id="comments_success"></div>
<!-- show the comment -->
<?php
echo $form->create('Comment', array('action' => 'add'));
echo $form->input('name', array('class' => 'validate[required] text-input'));
echo $form->input('email', array('class' => 'validate[required,custom[email]] text-input'));
echo $form->input('text', array('id' => 'commenttext', 'type' => 'textarea', 'label' => 'Comment:', 'rows' => '10', 'class' => 'validate[required] text-input'));
//captcha
echo $form->input('security_code', array('label' => 'Please Enter the Sum of ' . $mathCaptcha));
echo $form->input('Comment.post_id', array('value' => $entry[0]['Post']['id'] , 'type' => 'hidden'));
echo $form->end('Submit');
?>
<!-- comments -->
<ol>
<?php
foreach ($entry[0]['Comment'] as $comment) :
?>
<li>
<h3><?php echo $comment['name']; ?></h3>
<p class="date"><em>Date:</em> <?php echo $comment['created']; ?></p>
<p class="text"> <?php echo $comment['text']; ?></p>
</li>
<?php
endforeach;
?>
</ol>
</div>
Ceci est la fonction d'index dans mes posts_controller
function index($entry_id = null) {
if (isset($entry_id)){
$entry = $this->Post->findAllById($entry_id);
$comments = $this->Post->Comment->getCommentsFromPostID($entry_id);
$this->set('entry' , $entry);
$this->set('mathCaptcha', $this->MathCaptcha->generateEquation());
$this->render('entry');
}
else{
$posts = $this->Post->find('all');
$this->set(compact('posts'));
}
}
Je sais c'est vieux, mais Üst assurez-vous que le code ci-dessous un endroit visible dans votre app/views/layouts/default.ctp (ou quel que soit votre disposition pour cette application)
<?php echo $this->Session->flash(); ?>
Il ne fera écho à rien s'il n'y a pas de message à afficher, mais s'il y a un message, il sera sorti en conséquence.
- 1. cakephp Message de règle de validation personnalisée
- 2. validation CakePHP
- 3. validation cakePHP
- 4. Validation du fichier de validation CakePHP
- 5. Problème de validation de modèle dans Cakephp
- 6. cakePHP "required" validation
- 7. Validation CakePHP multirôle
- 8. validation de formulaire cakephp
- 9. message de base message SMTP v/CakePHP
- 10. Validation de Cakephp
- 11. Authentification CakePHP et validation
- 12. CakePHP Form Validation d'erreur de formulaire
- 13. Message de validation
- 14. Validation dans mon CakePHP semble désactivé
- 15. GWT obtenir message manquant-plugins
- 16. Validation de formulaire personnalisé dans CakePHP
- 17. Validation de formulaire HABTM dans CakePHP
- 18. jquery message de validation
- 19. validation CakePHP perdre paramètres
- 20. CakePHP manquant Méthode/erreurs de contrôleur retournées en XML? Possible?
- 21. CakePHP multiples Validation de la sélection
- 22. Comment modifier le message de validation d'une validation dans git?
- 23. Message d'erreur de validation jQuery
- 24. DDV_MinMaxUInt: Message de validation personnalisé
- 25. validation sur un fichier d'entrée dans cakephp
- 26. Validation du bouton radio dans cakephp
- 27. Validation CakePHP pour les dates
- 28. Rails override validation message
- 29. Utilisation de gettext dans la validation du modèle CakePHP
- 30. JSF Validation message
code pls? de cette façon, nous pouvons savoir ce qui ne va pas –
Comme jun l'a dit, vous devriez poster le code pertinent. En particulier, le tableau de validation (ou l'endroit où vous définissez le message d'erreur) et la partie du modèle (ctp) qui devrait afficher le message pour les débutants. – webbiedave