validate_username()
Перевіряє правильність написання імені користувача (username – логіна).
Якщо в імені користувача буде використано неприпустимі символи, то функція поверне false — перевірку не пройдено.
Дозволені символи: a-z _ - пробел . @
, тобто. латинський алфавіт, цифри та _ - пробел . @
.
Підходить для перевірки логіна , але не відображуваного імені! Т.к. основу роботи лежить функція sanitize_user() з другим параметром true, тобто. суворе очищення. Так, наприклад, всі кирилиці будуть видалені.
Працює на основі:
sanitize_user()
sanitize_user()
Хуки з функції
Повертає
true|false
. true, якщо ім’я відповідає нормам, інакше false.
Використання
if( ! validate_username( $username ) ){ // неправильний логін }
-
$username
(рядок) (обов’язковий) - Ім’я користувача (логін) для перевірки.
Приклади
#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 як тепер вважається неправильним. |
Код validate_username() validate username WP 6.0.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 ); }