0.0.16 • Published 5 years ago

kdev-sendform v0.0.16

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

SendForm

Оисание скрипта

Даный скрипт предназаначет для однообразной рутинной ajax отправки форм на сервер и вывода ошибок.

Замечу что валидация в даном случае проводиться на стороне сервера который отправляет определенный статус и действие для скрипта.

Скрип используеться в личных целях и значит будет обновляться по мере необходимости

Подключение

Для роботы скрипта необходимо подключить Jquery 3х версий и сам скрипт kdev-sendForm.js

Для вывода уведомлений я использую пару тройку стилей которые, если вы не сжимаете все в один файл, лучше скопировать из файла kdev-sendForm.css в свой файл и при необходимости изменить на свой вкус.

CSS

<link rel="stylesheet" href="/css/kdev-sendForm.css">

JS

<script src="/js/jquery.3.3.1.min.js"></script>
<script src="/js/kdev-sendForm.js"></script>

Пример HTML формы

<form action="./form.php" method="post">
    <div class="form-item">
        <label>Name
            <br>
            <input type="text" name="name">
        </label>
    </div>
    <div class="form-item">
        <input type="button" class="send-form" value="send">
    </div>
</form>

Теперь вешаем на кнопку отправки формы обработчик kdevSendForm

$('.send-form').kdevSendForm();

Ответ сервера

Ошибка валидации

Если данные не прошли валидацию вернем статус "errorValid" и ошибки в масиве 'error'

$response = [
        'status' => 'errorValid',
        'errors' =>
            [
                ['name'] => 'Поле "Name" обязательно к заполнению',
                ['email'] => 'Поле "Email" обязательно к заполнению'
            ],
        'msg' => 'Заполните все обязательные поля'
    ];
exit(json_encode($response));

В етом случае под всеми полями для которых мы вернули ошибки отобразяться поля с ошибками.

Ошибка валидации + всплывающее уведомление

Если мы хотим еще показать всплывающее уведомление мы можем вернуть еще и текст сообщения например 'Заполните все обязательные поля'

$response = [
        'status' => 'errorValid',
        'errors' =>
            [
                ['name'] => 'Поле "Name" обязательно к заполнению',
                ['email'] => 'Поле "Email" обязательно к заполнению'
            ],
        'msg' => 'Заполните все обязательные поля'
    ];
exit(json_encode($response));
Текстовое сообщение
$response = [
        'status' => 'msg',
        'msg' => 'Заполните все обязательные поля'
    ];
exit(json_encode($response));
Возвращаем redirect
$response = [
        'status' => 'redirect',
        'url' => '/home'
    ];
exit(json_encode($response));
Всплывающее сообщение об ошибке
$response = [
        'status' => 'errors',
        'msg' => 'Непредвиденная ошибка!'
    ];
exit(json_encode($response));
Сallback функция

Если мы хотим вызвать свою какую нибуть callback функцию

$response = [
        'status' => 'callback',
        'function' => 'functionName'
    ];
exit(json_encode($response));