Мне нужно внедрить валидацию 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%}
помогите мне пожалуйста!!!