Как вручную запустить проверку формы на стороне клиента в django с помощью JS / JQuery? - PullRequest
0 голосов
/ 26 марта 2020

Предположим, я отображаю форму с шаблоном:

<form id="theform" action="" method="post">
    {% csrf_token %}
    {{ form.non_field_errors }}
    {{ form.source.errors }}
    {{ form.source }}
    {{ form.a_field }}
    <input type="submit" value="submit">
</form>

Обратите внимание, что a_field также имеет виджет NumberInput, созданный с помощью ModelForm из модели. Таким образом, он уже имеет некоторые проверки (например, «Пожалуйста, введите номер», когда вводится не числовой символ c). Поэтому я хочу провести дополнительную проверку на стороне клиента на a_field перед отправкой, что вызовет всплывающее окно с ошибкой, подобное Django сообщениям об ошибках, когда проверка вернет false. Примерно так:

$('#theform').submit(function (e) {
    val = $("#id_a_field").val();
    e.preventDefault();
    if( /* check if val is ok */ ) { <-- The validation is done here.
        this.submit();
    }
    else {
        // <-- Here I want to trigger a validation error similar to django validation error message
    }
});

Есть ли способ сделать это?

...