Предположим, я отображаю форму с шаблоном:
<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
}
});
Есть ли способ сделать это?