Skip to content

check_form

Alexey Krivonogov edited this page Mar 25, 2016 · 5 revisions

Модуль отвечает за проверку введенных пользователем данных перед отправкой формы в Dcoin сеть. Цель уменьшить количество транзакций и запросов с ошибочными входящими данными. Этот модуль даёт возможность проверять указанные пользователем параметры перед их отправкой. Каждому типу проверки соответствует свое сообщение, которое будет возвращено на языке пользователя в случае несоответствия. Это сообщение будет показано на соответствующим полем ввода. Проверка применяется одновременно ко всем прикрепленным полям и ошибки проверки также показываются одновременно для всех проверяемых полей. Рассмотрим принцип работы и пример использования.

Подключение данной возможности очень простое. Необходимо у полей ввода добавить атрибут check с нужным типом проверки. Например,

<input style="min-width: 100px" id="amount" name="amount" 
       check="empty" class="form-control" type="text">

Далее, функции отправки данных следует реализовать через функцию check_form (/static/js/index.js) c указанием callback функции, которая будет вызвана при удачном прохождении всех проверок.

check_form( function( answer ){
     // Send the request
})

Параметр, передаваемый с функцией как правило игнорируется, но при желании можно проверить успешно ли вообще завершилась проверка. По умолчанию, модуль возвращает true, если не найдено противоречий, поэтому answer имеет еще одно поле success, которое показывает не было ли программных ошибок во время проверки, и поле error, которое будет содержать текст программной ошибки.

Типы проверок

  • empty - проверяет поле на пустоту. Указывается для тех полей, которые не могут быть пустыми.
  • interval|from|to - проверяет входит ли значение в указанный целочисленный интервал. Например, если вы укажите interval|10|25, то это означает, что значение должно быть от 10 до 25 включительно.
  • userid - если в форме требуется указать идентификатор пользователя, то нужно использовать этот тип проверки. Он проверяет существование пользователя с таким идентификатором.

ToDo

  • На данный момент, проверка введенных данных используется в Автоплатеж - Создать автоплатеж (new_auto_payment.go). Там можно посмотреть конкретный пример использования. По мере необходимости можно подключать эту возможность к другим формам.
  • Можно немного изменить формат вывода предупреждений и имеет ли смысл делать красную рамочку в полях ввода?
  • Можно добавлять новые типы проверок, которые будут необходимы.
Clone this wiki locally