WordPress как на ладони

validate_username()WP 2.0.1

Проверяет правильность написания имени пользователя (username - логина).

Если в имени пользователя будут использованы недопустимые символы, то функция вернет false — проверка не пройдена.

Разрешенные символы: a-z _ - пробел . @, т.е. латинский алфавит, цифры и _ - пробел . @.

Подходит для проверки логина, но не отображаемого имени! Т.к. в основе работы лежит функция sanitize_user() со вторым параметром true, т.е. строгая очистка. Так например, все кирилические символы будут удалены.

Работает на основе: sanitize_user()
Хуки из функции

Возвращает

true|false. true, если имя соответствует нормам, иначе false.

Использование

if( ! validate_username( $username ) ){
	// неправильный логин
}
$username(строка) (обязательный)
Имя пользователя (логин) для проверки.

Примеры

0

#1 Проверим логин вновь создаваемого пользователя и его существование в Базе Данных.

Если имя прошло проверку и такого пользователя еще нет в БД, то зарегистрируем пользователя:

<?php
$username = $_POST['username'];
$error = false;
if( !validate_username( $username ) )
	$error = "В имени пользователя использованы недопустимые символы!";
if ( !$error && username_exists( $username ) )
	$error = "Такое имя пользователя уже используется!";

if( !$error ){
	// можно регистрировать
}
?>

Список изменений

С версии 2.0.1 Введена.
С версии 4.4.0 Empty sanitized usernames are now considered invalid.

Код validate_username() WP 6.5.2

function validate_username( $username ) {
	$sanitized = sanitize_user( $username, true );
	$valid     = ( $sanitized == $username && ! empty( $sanitized ) );

	/**
	 * Filters whether the provided username is valid.
	 *
	 * @since 2.0.1
	 *
	 * @param bool   $valid    Whether given username is valid.
	 * @param string $username Username to check.
	 */
	return apply_filters( 'validate_username', $valid, $username );
}
2 комментария
    Войти