[size=“5”][b]Edit: Grossière erreur de ma part, j’ai séparé verify_code avec des quote simple dans le controler…
Problème résolu !
[/b][/size]
Bonjour,
Toujours entrain de m’initier à Yii, je souhaiterais cette fois ajouter un champ captcha à un formulaire généré.
Voici le code dans la vue :
<?php if(CCaptcha::checkRequirements()): ?>
<div class="row">
<?php echo $form->labelEx($model,'verify_code'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verify_code'); ?>
</div>
<div class="hint">Please enter the letters as they are shown in the image above.
<br/>Letters are not case-sensitive.</div>
<?php echo $form->error($model,'verify_code'); ?>
</div>
<?php endif; ?>
Dans le controler Members, après modifications :
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('login, pass, email, registration_date, connection_date, sexe, date_of_birth, rank, profile_photo, active, ban', 'verify_code','required'),
array('active', 'numerical', 'integerOnly'=>true),
array('login, pass, email, profile_photo', 'length', 'max'=>255),
array('sexe', 'length', 'max'=>5),
array('rank', 'length', 'max'=>15),
array('ban', 'length', 'max'=>50),
array('verify_code', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, login, pass, email, registration_date, connection_date, sexe, date_of_birth, rank, profile_photo, active, ban', 'safe', 'on'=>'search'),
);
}
Sauf que quand j’accède à la page subscribe.php.
J’ai cette erreur,
En testant dans mon controler, j’ai compris que autoload se référait au tableau require dans la méthode rules…
Ce qui m’étonne, c’est que Yii cherche à charger une class avec pour nom, celui de mon champ. Mais après quelques recherches, je n’ai pas trouvé de class login, pass, email etc… Par ailleurs, si Yii utilise bien un class pour chaque champs, j’ai du mal à trouver l’utilité.
D’ou vient mon erreur ?
Cordialement,
JHQL.