Die Kohana-Registrierung gibt einen Fehler zurück
-
27-10-2019 - |
Frage
Ich habe ein funktionierendes Registrierungsskript. Das einzige Problem ist, dass ich nicht weiß, wie ich überprüfen soll, ob der Benutzername bereits vorhanden ist. Wenn jetzt eine E-Mail oder ein Benutzername bereits vorhanden ist, wird mir dieser schwerwiegende Fehler zurückgegeben: ORM_Validation_Exception [ 0 ]: Failed to validate array ~ MODPATH/orm/classes/kohana/orm.php [ 1174 ]
Und hier ist mein Skript:
$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'],
));
Ich verwende die Version 3.2.
Lösung
Um herauszufinden, ob ein Eintrag vorhanden ist ...
$model = ORM::factory('user', $values['name']);
if ( !$model->is_loaded() ) {
// do registration
}
Hiermit wird versucht, nach einem Benutzermodell mit diesem Benutzernamen zu suchen (sofern dieser auf Ihren Primärschlüssel festgelegt ist).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow