Грав версия 1.1.5
Я удалил каждую логику валидации и шаблон валидации в исходном коде, но он не работает, я все еще получал ошибку при создании пользователя.
Имя сообщения об ошибке USERNAME_NOT_VALID
Я ищу это во всем исходном коде и удаляю связанный код, но он все еще отображается на экране, когда я получил ошибку. Я не понимаю, откуда сообщение.
diff --git a/user/plugins/admin/pages/admin/register.md b/user/plugins/admin/pages/admin/register.md
index ff0b13b..fc0cf6e 100644
--- a/user/plugins/admin/pages/admin/register.md
+++ b/user/plugins/admin/pages/admin/register.md
@@ -9,7 +9,7 @@ form:
validate:
required: true
message: PLUGIN_LOGIN.USERNAME_NOT_VALID
- pattern: '^[a-z0-9_-]{3,16}$'
+ pattern: ''
- name: email
type: email
@@ -27,7 +27,7 @@ form:
validate:
required: true
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
- pattern: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
+ pattern: ''
- name: password2
type: password
@@ -36,7 +36,7 @@ form:
validate:
required: true
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
- pattern: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
+ pattern: ''
- name: fullname
type: text
diff --git a/user/plugins/login/pages/register.md b/user/plugins/login/pages/register.md
index c4088e2..0391367 100644
--- a/user/plugins/login/pages/register.md
+++ b/user/plugins/login/pages/register.md
@@ -12,7 +12,7 @@ form:
validate:
required: true
message: PLUGIN_LOGIN.USERNAME_NOT_VALID
- pattern: '^[a-z0-9_-]{3,16}$'
+ pattern: ''
-
name: email
@@ -31,7 +31,7 @@ form:
validate:
required: true
message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE
- pattern: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
+ pattern: ''
-
name: password2
@@ -41,7 +41,7 @@ form:
validate:
required: true
message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE
- pattern: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
+ pattern: ''
buttons:
-
diff --git a/user/plugins/login/pages/reset.md b/user/plugins/login/pages/reset.md
index e5f82e4..8300d2a 100644
--- a/user/plugins/login/pages/reset.md
+++ b/user/plugins/login/pages/reset.md
@@ -20,7 +20,7 @@ form:
validate:
required: true
message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE
- pattern: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
+ pattern: ''
- name: token
type: hiddendiff --git a/user/plugins/login/cli/ChangePasswordCommand.php b/user/plugins/login/cli/ChangePasswordCommand.php
index d15abb7..5bde6cc 100644
--- a/user/plugins/login/cli/ChangePasswordCommand.php
+++ b/user/plugins/login/cli/ChangePasswordCommand.php
@@ -134,9 +134,6 @@ class ChangePasswordCommand extends ConsoleCommand
{
switch ($type) {
case 'user':
- if (!preg_match('/^[a-z0-9_-]{3,16}$/', $value)) {
- throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed');
- }
if (!file_exists(self::getGrav()['locator']->findResource('account://' . $value . YAML_EXT))) {
throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username');
}
@@ -144,10 +141,6 @@ class ChangePasswordCommand extends ConsoleCommand
break;
case 'password1':
- if (!preg_match('/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/', $value)) {
- throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters');
- }
-
break;
case 'password2':
diff --git a/user/plugins/login/cli/ChangeUserStateCommand.php b/user/plugins/login/cli/ChangeUserStateCommand.php
index 40f9dc6..90adee6 100644
--- a/user/plugins/login/cli/ChangeUserStateCommand.php
+++ b/user/plugins/login/cli/ChangeUserStateCommand.php
@@ -133,9 +133,6 @@ class ChangeUserStateCommand extends ConsoleCommand
{
switch ($type) {
case 'user':
- if (!preg_match('/^[a-z0-9_-]{3,16}$/', $value)) {
- throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed');
- }
if (!file_exists(self::getGrav()['locator']->findResource('account://' . $value . YAML_EXT))) {
throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username');
}
diff --git a/user/plugins/login/cli/NewUserCommand.php b/user/plugins/login/cli/NewUserCommand.php
index 17dbf48..728adda 100644
--- a/user/plugins/login/cli/NewUserCommand.php
+++ b/user/plugins/login/cli/NewUserCommand.php
@@ -237,9 +237,6 @@ class NewUserCommand extends ConsoleCommand
{
switch ($type) {
case 'user':
- if (!preg_match('/^[a-z0-9_-]{3,16}$/', $value)) {
- throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed');
- }
if (file_exists(Grav::instance()['locator']->findResource('account://' . $value . YAML_EXT))) {
throw new \RuntimeException('Username "' . $value . '" already exists, please pick another username');
}
@@ -247,10 +244,6 @@ class NewUserCommand extends ConsoleCommand
break;
case 'password1':
- if (!preg_match('/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/', $value)) {
- throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters');
- }
-
break;
case 'password2':
Уже есть способ изменить, который включен в Grav, не касаясь исходного кода.
Если вы зайдете в админ-панель, в разделе «Конфигурация» есть пункт «Дополнительно», в котором вы можете настроить соответственно «Имя пользователя и пароль» и «Пароль и пароль».
По умолчанию регулярное выражение имени пользователя ^[a-z0-9_-]{3,16}$
и может быть, как указано @Scuzzy в комментарии, изменено на ^(.*)^
принять каждого персонажа.
Кстати, в отношении безопасности и читабельности, я рекомендую вам не использовать это регулярное выражение, если вы не хотите, чтобы на вашем сайте были неназванные имена, такие как ^ = — èö.
Я рекомендую вам не трогать исходный код Grav напрямую, потому что все изменения могут быть отменены при каждом обновлении Grav. Если вы действительно хотите что-то изменить в источнике, подумайте о том, чтобы создать его как плагин (даже для личного использования), чтобы сохранить возможность обновления.
Других решений пока нет …