Модуль валидирует поля при регистрации с помощью JavaScript, без перезагрузки страницы. Проверяет никнейм на занятость. Сообщения об ошибках пишет на выбранном языке, если переведено. Если поля заполнены неправильно или не заполнены, то при нажатии кнопки "Регистрация" они будут подсвечены. Тестировал только на ПК.
Установка:
1. Распаковать в корневую директорию.
2. В файле: site.ru\config\routes.local.php
Добавьте:
$map->addRoute(['POST'], '/registration/checker[/]', 'modules/registration/checker.php');3. В файле: site.ru\modules\registration\templates\index.phtml
Для кнопки submit
Добавьте: id="submit"
В конце файла добавьте:
<script>
const errorMessages = {
'name': {
'length': "<?= __("The nickname must be from 2 to 20 characters.") ?>",
'empty': "<?= __("Nickname must not be empty.") ?>",
'not_unique': "<?= __("Nickname taken.") ?>",
},
'password': {
'length': "<?= __("The password must contain at least 6 characters.") ?>",
'empty': "<?= __("The password must not be empty.") ?>",
},
'gender': {
'empty': "<?= __("Please select a gender.") ?>",
},
'email': {
'empty': "<?= __("Email must not be empty.") ?>",
'format': "<?= __("Invalid email format.") ?>",
},
};
</script>
<script src="<?= $this->asset('/js/registrations/validations.js', true) ?>"></script>6. Для перевода на другие языки смотрите файл: site.ru\modules\registration\locale\ru.lng.php
Последние 8 элементов массива.
Вроде все.