A
A
Anthony2017-09-29 22:44:34
JavaScript
Anthony, 2017-09-29 22:44:34

What is the best way to organize the construction and validation of forms (client-server)?

We need advice on organizing work in an easy way to design forms and validate forms on the server and client side. The task is to create different complex forms with a hierarchical structure every other day (from choosing one value to show different fields).
I would like to see examples first of all, but rather links to GITHUB.
Who uses what plug-ins to facilitate the above tasks?
I wonder how someone organizes the process.
You need to provide ways to edit form data.
Now, when submitting a form, I check all the fields separately with different functions, is it possible to somehow simplify the task or with client data in a good way?
Now I'm looking at the Alpaca JS plugin , but it weighs a lot, both for
formsJSON Editor plugin but I don’t understand is it safe to start up in production?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
L
Leo Developer, 2017-09-30
@crazy_leo

I am using my script. I will give an example of how it works, if you like it, I will throw off the code. (1-2 kb)

var list = {
  // Страница логина
  login: {
    name: {
                       /**Обязательно ли поле**/
                       isRequired: true,
                        /**
                          Начать валидацию только тогда, когда возвращается true
                         **/
                         if: function (current, all) {
                            return  current == "admin" ? false : true
                          },
      /**
        Тип который должен быть у поля
        Все типы: String, Array, Object, Boolean, Number
      **/
      type: String
      /**
        Минимальная длина и максимальная длина.
        Работает только со строкой, массивом.
      **/
      min: 1,
      max: 10,
      /**
        Делает соответствие регулярному выражению
      **/
      search: /testuser/i,
      /**
        Функция валидатор. 
        Параметры: текущее поле в цикле и все поля переданные в validation (Это тот скрипт о котором я говорил скину)
        Возвращать: true если все хорошо, false если все плохо
      **/
      validator: function (current, all) {
        return current == "testuser" ? true : false
      },
      /**
        Сообщение которое возвращает скрипт если валидация не прошла.
      **/
      message: "Неверное имя!",
      /**
        Функция изменения message
      **/
      setMessage: function (current, all) {
        return all.type == "company" ? "Неверное название компании" : "Неверное имя!"
      }
    }
  }
}

// т.е у меня хранится этот лист.
// а функция validation импортирует его и начинает валидацию

validation({name: "Мегафон", type: "company"}, "login")
  .catch(emessage => console.log(emessage))
        .then(body => console.log(body))

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question