Проверка логического поля в апострофе cms apostrophe -iece-submit-widgets - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь создать простую контактную форму, используя apostrophe-pieces-submit-widgets, и для нее требуется галочка для GDPR.Я установил модуль формы запроса:

module.exports = {
  extend: 'apostrophe-pieces',
  name: 'request-form',
  label: 'Request Form',
  alias: 'requestForm',
  addFields: [
    ...
    {
      name: 'gdpr',
      label: 'Marketing agreement',
      type: 'boolean',
      required: true
    }
  ],
  //stuff like building title field and marking it as published when it's saved
  ...
}

И затем я отображаю его, используя apostrophe-pieces-submit-widgets:

module.exports = {
  extend: 'apostrophe-pieces-submit-widgets',
  fields: ['name', 'email', 'phone', 'gdpr']
}

Он работает визуально, то есть помечается звездочкой,увы, вы все равно можете отправить форму, не переключая ее на Yes.Когда вы не заполняете другие обязательные поля, они никогда не упоминаются в возвращенном объекте ошибки, как другие поля.Что мне нужно сделать, чтобы подтвердить это?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Теперь вы можете сделать это, установив параметр mandatory: true для поля.

0 голосов
/ 25 февраля 2019

Если я не понимаю, Apostrophe - это проверка логического значения (которому разрешено быть No / false), это просто не то значение, которое вы хотите пропустить.Поле boolean действительно не обрезает его для этого случая.

Я не могу представить, как бы вы достигли этого с помощью существующих полей схемы.

Вы можете создать свой собственныйполя схемы (которые могут быть проверены, как вам нравится), следуя этому набору руководств.https://apostrophecms.org/docs/tutorials/intermediate/custom-schema-field-types.html

Пример средства выбора цвета немного сложен, может быть проще просмотреть источник Apostrophe и продублировать логический тип поля под новым именем, а также заставить значение быть достоверным для проверки.Все, что вам нужно, находится в модуле apostrophe-schemas.

...