Мне нужно внедрить валидацию javascript в django

У меня есть javascript валидация, но она не работает для меня, я думаю это может быть sweet alert

  • Я думаю, что sweetalert проверяет до проверки, которая у меня есть в javascript
  • .

валидация javascript:

const $email_validation = document.getElementById('email_validation');
const $contrasena_validation = document.getElementById('contrasena_validation');
const $formularioempleado = document.getElementById('formularioempleado');
var $expresion_email, $expresion_password;


$expresion_email = /^([\da-z_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
$expresion_password = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;


(function() {
$formularioempleado.addEventListener('submit', function(e) {
    let email=String($email_validation.value).trim();
    let contrasena=String($contrasena_validation.value).trim();

    if(email.length === 0 || contrasena.length === 0){
        alert("Todos los campos son obligatorios");
        e.preventDefault();
    }
    else if(email.length>100){
        alert("El correo es muy largo");
        e.preventDefault();
    }
    else if(!$expresion_email.test(email)){
        alert("El correo no es valido");
        e.preventDefault();
    }
    else if(contrasena.length>255){
        alert("La Contraseña es muy larga");
        e.preventDefault();
    }
    else if(!$expresion_password.test(contrasena)){
        alert("Contraseña: Debe contener al menos un numero y una letra mayúscula y minúscula, y al menos 8 caracteres o más");
        e.preventDefault();
    }

    e.preventDefault();
});

})();

createuser.html:

{% extends 'app/base.html' %}

{% block contenido %}
{% load crispy_forms_tags%}
<div class="container">
<div class="row">
    <div class="col-md-3">

    </div>
    <div class="col-12 col-md-6 content m-0 mt-2 mb-2 pt-2 pb-2" >
        <form class="p-0" method="POST" id="formularioempleado">
            {% csrf_token %}
            <h2 class="text-center">Crear Empleado</h2>
            <hr>

            {{empleado | crispy}}

            <input class="btn btn-primary mb-2" type="submit" value="Crear Usuario">
            <hr>
            
        </form>
    </div>
    <div class=" col-md-3">

    </div>
    
</div>

</div>

views.py (здесь у меня сообщение sweetalert)

def crearusuario(request):
data = {
    'empleado': CrearEmpleadoForm()
}
if request.method=="POST":
    if request.POST.get('rut') and request.POST.get('nombres') and request.POST.get('apellidos') and request.POST.get('correo_electronico') and request.POST.get('usuario') and request.POST.get('contrasena') and request.POST.get('activo') and request.POST.get('cargo_empleado') and request.POST.get('id_empresa') and request.POST.get('id_unida'):
        usersave= Empleado()
        usersave.rut=request.POST.get('rut')
        usersave.nombres=request.POST.get('nombres')
        usersave.apellidos=request.POST.get('apellidos')
        usersave.correo_electronico=request.POST.get('correo_electronico')
        usersave.usuario=request.POST.get('usuario')
        usersave.contrasena=request.POST.get('contrasena')
        usersave.activo=request.POST.get('activo')
        usersave.cargo_empleado=CargoEmpleado.objects.get(pk=(request.POST.get('cargo_empleado')))
        usersave.id_empresa=Empresa.objects.get(pk=(request.POST.get('id_empresa')))
        usersave.id_unida=UnidadInterna.objects.get(pk=(request.POST.get('id_unida')))
        cursor=connection.cursor()
        cursor.execute("call SP_crear_usuario('"+usersave.rut+"','"+usersave.nombres+"', '"+usersave.apellidos+"', '"+usersave.correo_electronico+"', '"+usersave.usuario+"', '"+usersave.contrasena+"', '"+usersave.activo+"', '"+str(usersave.cargo_empleado.id)+"', '"+str(usersave.id_empresa.id)+"', '"+str(usersave.id_unida.id)+"')")
        messages.success(request, "El empleado "+usersave.nombres+" se guardo correctamente ")
        return render(request, 'app/crearusuario.html', data)
else:
    return render(request, 'app/crearusuario.html', data)

base.html (сообщения sweetalert)

{% if messages%}
{% for displaydata in messages%}
<script>
 Swal.fire({
     "title": "Felicitaciones",
     "text": "{{displaydata}}",
     "icon": "success"
 })
</script>
{% endfor%}
{% endif%}

помогите мне пожалуйста!!!

Вернуться на верх