Reputation: 1056
In my html template have error messages for form validation like below:
{% for field in form %}
<span class="text-danger small">{{ field.errors }}</span>
{% endfor %}
If I want to use sweet alert for that how can I do it
If I use like below it will give a empty alert when page loads but when the error happens it will give an empty alert like the when pages loading how can I pass those data into sweet alert what did I do wrong?
{% for field in form %}
<span class="text-danger small">{{ field.errors }}</span>
<script>
var a = "{{ field.errors }}"
swal(a)
</script>
{% endfor %}
Upvotes: 0
Views: 1500
Reputation: 691
Form errors are provided by form.errors in django so, insert error in dict errordict={} and return errordict to template
In views.py
errodict={}
for f in form.errors:
self.errordict[f] = '.'.join(form.errors[f])
In template
{% if errodict %}
<script>
var r="{{ errodict }}";
alert('error:'+r)
</script>
{{ errodict}}
{% endif %}
Upvotes: 0
Reputation: 129
Error has occurred because the error message with double quotes is enclosed within double quotes.
You can either enclose it in template literal or single quotes to execute without error.
var a = `<ul class="errorlist"><li>Enter a valid email address.</li></ul>`;
console.log(a);
Upvotes: 1