Question

Je travaille script enregistrement le seul problème est que je ne sais pas comment vérifier si le nom d'utilisateur existe déjà parce que maintenant si le courrier électronique ou nom d'utilisateur existe déjà, il me renvoie cette erreur fatale: ORM_Validation_Exception [ 0 ]: Failed to validate array ~ MODPATH/orm/classes/kohana/orm.php [ 1174 ]

Et voici mon script:

$validate = Validation::factory($values)
        ->rule('name', 'not_empty')
        ->rule('password', 'matches', array(':validation', 'password', 'repeat-password'))
        ->rule('password', 'not_empty')
        ->rule('email', 'email')->rule('email', 'not_empty')
if(!$validate->check()){
    $errors = $validate->errors('registration', true);
    foreach($errors as $value){
        echo $value . "<br />";
    }
    return;
}
$model = ORM::factory('user');
$model->values(array(
    'username'          => $values['name'],
    'email'             => $values['email'],
    'password'          => $values['password'],
    'password_confirm'  => $values['repeat-password'],
));

Im en utilisant la version 3.2.

Était-ce utile?

La solution

Pour savoir si une entrée existe ...

$model = ORM::factory('user', $values['name']);

if ( !$model->is_loaded() ) {
    // do registration
}

va essayer de rechercher un modèle utilisateur avec ce nom d'utilisateur (si elle est définie sur votre clé primaire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top