En mi aplicación Django/Python tengo campos que son necesarios o no, dependiendo de lo que se seleccione en los campos anteriores. Es por eso que no son obligatorios por defecto. Me gustaría ejecutar un script que generaría un error en el campo elegido, según la selección. Me gustaría hacer eso cuando se presiona el botón 'Enviar', a través de un script.
Mi código html:
{% extends "blog/base.html" %} {% load crispy_forms_tags %} {% block content %} <div class="content-section"> <form method="POST" id="PostForm" data-sektor-url="{% url 'ajax_load_sektors' %}" novalidate enctype="multipart/form-data"> {% csrf_token %} <fieldset class="form-group"> <legend class="border-bottom mb-4">Report</legend> {{ form|crispy }} </fieldset> <div class="form-group"> <button class="btn btn-outline-info" id="submit" type="submit">Submit</button> </div> </form> </div> <script> $("#submit").click(function () { if (document.getElementById('id_res_person_1').value == '') { HERE I WOULD RAISE AN ERROR ON THAT FIELD } }); </script>Debe llamar a una función cuando se envía el formulario, hacer su validación y, si todo está bien, enviarlo a la vista.
Aquí hay un ejemplo:
function validate(url) { // do your validation if(allIsOk){ // get the form my_form.submit(); } } <fom onsubmit="validate()">