سؤال

لدي برنامج نصي لتسجيل العمل المشكلة الوحيدة هي أنني لا أعرف كيفية التحقق مما إذا كان اسم المستخدم موجودا بالفعل لأنه الآن إذا كان البريد الإلكتروني أو اسم المستخدم موجودا بالفعل ، فإنه يعيد لي هذا الخطأ الفادح: ORM_Validation_Exception [ 0 ]: Failed to validate array ~ MODPATH/orm/classes/kohana/orm.php [ 1174 ]

وهنا هو السيناريو الخاص بي:

$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'],
));

الدردشة باستخدام الإصدار 3.2.

هل كانت مفيدة؟

المحلول

لمعرفة ما إذا كان إدخال موجود...

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

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

سيحاول هذا البحث عن نموذج مستخدم باسم المستخدم هذا (إذا تم تعيينه على مفتاحك الأساسي).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top