|
|
@@ -384,14 +384,14 @@ dbs.defineModel({
|
|
|
Модуль поставляется с набором глобальных валидаторов:
|
|
|
|
|
|
- `regexp` проверка по регулярному выражению,
|
|
|
- *параметр: `string | RegExp` - рег. выражение;*
|
|
|
-
|
|
|
-- `minLength` минимальная длина строки или массива,
|
|
|
- *параметр: `number` - минимальная длина;*
|
|
|
+ *параметр: `string | RegExp` - регулярное выражение;*
|
|
|
|
|
|
- `maxLength` максимальная длина строки или массива,
|
|
|
*параметр: `number` - максимальная длина;*
|
|
|
|
|
|
+- `minLength` минимальная длина строки или массива,
|
|
|
+ *параметр: `number` - минимальная длина;*
|
|
|
+
|
|
|
Валидаторы указанные ниже находятся в разработке:
|
|
|
|
|
|
- `isLowerCase` проверка регистра (только прописные буквы);
|
|
|
@@ -474,7 +474,8 @@ dbs.defineModel({
|
|
|
Валидатором является функция, в которую передается значение соответствующего
|
|
|
поля перед записью в базу. Если во время проверки функция возвращает `false`,
|
|
|
то выбрасывается стандартная ошибка. Подмена стандартной ошибки возможна
|
|
|
-с помощью выброса пользовательской ошибки непосредственно внутри функции.
|
|
|
+с помощью выброса пользовательской ошибки непосредственно внутри проверяющей
|
|
|
+функции.
|
|
|
|
|
|
Регистрация глобального валидатора выполняется методом `addValidator` сервиса
|
|
|
`PropertyValidatorRegistry`, который принимает название валидатора и функцию
|
|
|
@@ -503,7 +504,7 @@ const uuidRegex = {
|
|
|
// принимающего объект настроек со свойством "version"
|
|
|
pvr.addValidator('isUuid', (value, options, context) => {
|
|
|
// value - проверяемое значение;
|
|
|
- // options - настройки валидатора;
|
|
|
+ // options - параметры валидатора;
|
|
|
// context - информация о проверяемом свойстве;
|
|
|
console.log(options);
|
|
|
// {
|
|
|
@@ -517,8 +518,10 @@ pvr.addValidator('isUuid', (value, options, context) => {
|
|
|
// }
|
|
|
|
|
|
// пустые значения не передаются в валидаторы
|
|
|
+ // (условие ниже никогда не сработает)
|
|
|
if (typeof value !== 'string') return false;
|
|
|
- // поиск регулярного выражения для нужной версии
|
|
|
+ // поиск регулярного выражения для указанной
|
|
|
+ // версии UUID (из параметров валидатора)
|
|
|
const version = options?.version || 'any';
|
|
|
const regex = uuidRegex[version];
|
|
|
// если регулярное выражение не найдено,
|
|
|
@@ -582,7 +585,7 @@ dbs.defineModel({
|
|
|
function passwordStrength(value, options, context) {
|
|
|
// value - проверяемое значение;
|
|
|
// options - не используется;
|
|
|
- // context - информация о проверяемом свойстве;
|
|
|
+ // context - информация о свойстве;
|
|
|
console.log(context);
|
|
|
// {
|
|
|
// validatorName: 'passwordStrength',
|
|
|
@@ -615,9 +618,9 @@ function passwordStrength(value, options, context) {
|
|
|
dbs.defineModel({
|
|
|
name: 'user',
|
|
|
properties: {
|
|
|
- password: { // <--- Правильное свойство
|
|
|
+ password: {
|
|
|
type: DataType.STRING,
|
|
|
- required: true, // Пароль обычно обязателен
|
|
|
+ required: true,
|
|
|
validate: passwordStrength, // <=
|
|
|
// или
|
|
|
// validate: [passwordStrength, ...]
|
|
|
@@ -626,7 +629,7 @@ dbs.defineModel({
|
|
|
});
|
|
|
```
|
|
|
|
|
|
-Использование анонимной функции-валидатора.
|
|
|
+Использование анонимной функции-валидатора для проверки слага.
|
|
|
|
|
|
```js
|
|
|
// определение модели "article"
|
|
|
@@ -647,7 +650,7 @@ dbs.defineModel({
|
|
|
## Трансформеры
|
|
|
|
|
|
Трансформеры используются для модификации значения свойства перед проверкой
|
|
|
-типа и передачей значения в базу. Трансформеры позволяют автоматически очищать
|
|
|
+типа и передачей данных в базу. Трансформеры позволяют автоматически очищать
|
|
|
или приводить данные к нужному формату.
|
|
|
|
|
|
### Глобальные трансформеры
|
|
|
@@ -866,7 +869,7 @@ dbs.defineModel({
|
|
|
});
|
|
|
```
|
|
|
|
|
|
-Использование анонимной функции-трансформера.
|
|
|
+Использование анонимной функции-трансформера для коррекции слага.
|
|
|
|
|
|
```js
|
|
|
dbs.defineModel({
|