validate() public method

Add password confirmation validation.
public validate ( )
Ejemplo n.º 1
0
 /**
  * Validate and create account.
  */
 public function createAction()
 {
     // Validate user
     $user = new User($this->userParams());
     // Check for errors
     if ($user->validate()) {
         $user->save();
         // Is email validation turned on?
         if (setting('email_validation')) {
             // Insert validation row
             $activationCode = random_hash();
             $this->db->insert(PREFIX . 'user_activation_codes', ['user_id' => $user->id, 'activation_code' => $activationCode, 'type' => 'email_validation']);
             // Send notification and render login form
             Notification::accountActivation($user, $activationCode)->send();
             return $this->render("sessions/new.phtml", ['activationRequired' => true]);
         }
         return $this->redirectTo('session_new');
     } else {
         $this->title($this->translate('register'));
         return $this->render('users/new.phtml', ['user' => $user]);
     }
 }
Ejemplo n.º 2
0
<?php

/*!
 * Traq Lite
 * Copyright (c) 2009-2016 Jack P.
 * https://github.com/nirix/traq-lite
 *
 * Licensed under the BSD 3-Clause license.
 */
use Traq\Models\User;
$user = new User();
if (Request::$method == 'POST') {
    $user = new User(['name' => Request::$post['name'], 'username' => Request::$post['username'], 'password' => Request::$post['password'], 'email' => Request::$post['email'], 'group_id' => Request::$post['group_id']]);
    if ($user->validate()) {
        db()->beginTransaction();
        $query = db()->prepare('
            INSERT INTO ' . PREFIX . 'users
            (name, username, password, email, group_id, session_hash, created_at)
            VALUES(:name, :username, :password, :email, :group_id, :session_hash, NOW())
        ');
        $query->bindValue(':name', $user['name'], PDO::PARAM_STR);
        $query->bindValue(':username', $user['username'], PDO::PARAM_STR);
        $query->bindValue(':password', password_hash($user['password'], PASSWORD_DEFAULT), PDO::PARAM_STR);
        $query->bindValue(':email', $user['email'], PDO::PARAM_STR);
        $query->bindValue(':group_id', $user['group_id'], PDO::PARAM_INT);
        $query->bindValue(':session_hash', sha1(microtime() . time() . rand(0, 500)), PDO::PARAM_STR);
        $query->execute();
        db()->commit();
        return redirect('/admin/users');
    }
}