e22m4u 1 год назад
Родитель
Сommit
0b418a2e98
1 измененных файлов с 37 добавлено и 0 удалено
  1. 37 0
      README.md

+ 37 - 0
README.md

@@ -372,6 +372,43 @@ schema.defineModel({
 });
 ```
 
+### Пользовательские валидаторы
+
+Валидатором является функция, в которую передается значение соответствующего
+поля перед записью в базу. Если во время проверки значения функция возвращает
+`false`, то выбрасывается исключение об ошибке.
+
+Регистрация пользовательского валидатора происходит методом `addValidator`
+сервиса `PropertyValidatorRegistry`, который находится в экземпляре схемы.
+
+**Пример**
+
+```js
+// создание валидатора для запрета
+// всех символов кроме чисел
+const numericValidator = (input) => {
+  return /^[0-9]+$/.test(String(input));
+}
+
+// регистрация нового
+// валидатора "numeric"
+schema
+  .get(PropertyValidatorRegistry)
+  .addValidator('numeric', numericValidator);
+
+// использование валидатора в определении
+// свойства "code" для новой модели
+schema.defineModel({
+  name: 'document',
+  properties: {
+    code: {
+      type: DataType.STRING,
+      validate: 'numeric',
+    },
+  },
+});
+```
+
 ## Трансформеры
 
 С помощью трансформеров производится модификация значений определенных