public function validate(User $user)
    {
        $errors = $user->validate();

        // Ensure email address is unique.
        $duplicates = $this->findBy(array($this->getUserColumns('email') => $user->getEmail()));
        if (!empty($duplicates)) {
            foreach ($duplicates as $dup) {
                if ($user->getId() && $dup->getId() == $user->getId()) {
                    continue;
                }
                $errors['email'] = 'An account with that email address already exists.';
            }
        }

        // Ensure username is unique.
        $duplicates = $this->findBy(array($this->getUserColumns('username') => $user->getRealUsername()));
        if (!empty($duplicates)) {
            foreach ($duplicates as $dup) {
                if ($user->getId() && $dup->getId() == $user->getId()) {
                    continue;
                }
                $errors['username'] = 'An account with that username already exists.';
            }
        }

        // If username is required, ensure it is set.
        if ($this->isUsernameRequired && !$user->getRealUsername()) {
            $errors['username'] = 'Username is required.';
        }

        return $errors;
    }
public function validate(User $user)
    {
        $errors = $user->validate();

        // Ensure email address is unique.
        $duplicates = $this->findBy(array($this->getUserColumns('email') => $user->getEmail()));
        if (!empty($duplicates)) {
            foreach ($duplicates as $dup) {
                if ($user->getId() && $dup->getId() == $user->getId()) {
                    continue;
                }
                $errors['email'] = 'An account with that email address already exists.';
            }
        }

        // Ensure username is unique.
        $duplicates = $this->findBy(array($this->getUserColumns('username') => $user->getRealUsername()));
        if (!empty($duplicates)) {
            foreach ($duplicates as $dup) {
                if ($user->getId() && $dup->getId() == $user->getId()) {
                    continue;
                }
                $errors['username'] = 'An account with that username already exists.';
            }
        }

        // If username is required, ensure it is set.
        if ($this->isUsernameRequired && !$user->getRealUsername()) {
            $errors['username'] = 'Username is required.';
        }

        return $errors;
    }
public function validate ( User $ user ) { $ errors = $ user -> validate ( ) ; // Ensure email address is unique. $ duplicates = $ this -> findBy ( array ( $ this -> getUserColumns ( 'email' ) => $ user -> getEmail ( ) ) ) ; if ( ! empty ( $ duplicates ) ) { foreach ( $ duplicates as $ dup ) { if ( $ user -> getId ( ) && $ dup -> getId ( ) == $ user -> getId ( ) ) { continue ; } $ errors [ 'email' ] = 'An account with that email address already exists.' ; } } // Ensure username is unique. $ duplicates = $ this -> findBy ( array ( $ this -> getUserColumns ( 'username' ) => $ user -> getRealUsername ( ) ) ) ; if ( ! empty ( $ duplicates ) ) { foreach ( $ duplicates as $ dup ) { if ( $ user -> getId ( ) && $ dup -> getId ( ) == $ user -> getId ( ) ) { continue ; } $ errors [ 'username' ] = 'An account with that username already exists.' ; } } // If username is required, ensure it is set. if ( $ this -> isUsernameRequired && ! $ user -> getRealUsername ( ) ) { $ errors [ 'username' ] = 'Username is required.' ; } return $ errors ; }
Validate a user object.

Invokes User::validate(),
and additionally tests that the User's email address and username (if set) are unique across all users.'.

@param User $user
@return array An array of error messages, or an empty array if the User is valid.
Validate a user object .