Проверка данных формы, 1

* в объекте формы я собираюсь хранить логику проверки её данных.
  Соответственно, первым делом я хочу отделить данные от кода;
* данные перенесены в свойство объекта `metadata`;
Проверка данных формы, 2

* перед вставкой данных в `mongodb` вызывается метод проверки.
  Он пока ничего не проверяет, но уже вызывается;
* однако мы опять получили захардкоденное значение ('blank'),
  от него предлагаю немедленно избавиться;
Проверка данных формы, 3

* имя формы передаётся в параметре запроса;
  Знакомая фраза? Это заголовок коммита 893ba36c8a :)
  Только тогда мы отлавливали `GET` запросы, а сейчас по такой же
  схеме обрабатываем `POST`. Разница в том, что в `GET` имя формы
  было частью пути запроса, а в данном случае имя передаётся в
  теле запроса (т.е. его не видно);
* чего мы этим добились: мы постепенно избавляеся от жёстко
  закодированных параметров в функции `forms()`. Если мы преуспеем,
  то данную функцию можно будет использовать для обработки *любого*
  запроса `POST`, а не только `fillBlank`;
* в объекте `blank` появилось дублирование кода: значение 'blank'
  используется дважды. От него мы тоже избавимся в ближайшем будущем.
Проверка данных формы, 4

* обработка запроса от клиента обвешана проверками на ошибки;
* удалён очередной закодированный параметр -- имя коллекции, в
  которую происходит вставка данных. Этот параметр тоже вынесен в
  объект формы;
* метод проверки данных формы выполняет чуть-чуть полезной работы;
Проверка данных формы, 5

* эмулируем ошибку валидации и шлём клиенту фидбэк;
* "для посмотреть" только, на рабочую реализацию никак не претендует;
Проверка данных формы, 5.5

* проверка полей формы с помощью колбэков
Проверка данных формы, 5.75

* ручная проверка полей форм