mirror of
https://github.com/kamask-dev/pchelpmaster.git
synced 2026-11-11 05:49:38 +00:00
Migration sets access rules, password min 8, name max 100, password-only auth, and a case-insensitive unique email index. A hook rejects non-ASCII and malformed emails on every save. API tests cover registration, login, and isolation between two users and a guest. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
18 lines
1007 B
JavaScript
18 lines
1007 B
JavaScript
/// <reference path="../pb_data/types.d.ts" />
|
|
|
|
// Встроенная проверка PocketBase пропускает кириллицу и домен верхнего уровня из одной буквы.
|
|
// onRecordValidate срабатывает при любом сохранении: регистрация, смена email, суперпользователь.
|
|
onRecordValidate((e) => {
|
|
// Обработчики выполняются изолированно, поэтому регулярка объявлена внутри.
|
|
// Только печатные символы ASCII без пробела: что-то@что-то.минимум-два-символа.
|
|
const email = /^[!-?A-~]+@[!-?A-~]+\.[!-?A-~]{2,}$/;
|
|
|
|
if (!email.test(e.record.email())) {
|
|
throw new BadRequestError('Некорректный email.', {
|
|
email: new ValidationError('validation_invalid_email', 'Некорректный email.'),
|
|
});
|
|
}
|
|
|
|
e.next();
|
|
}, 'users');
|