Added error checking in case someone writes a long love letter to design in 'paper_size' or similar fields and doesn't want the form to crash.

This commit is contained in:
Robert Kolner committed 2013-11-06 20:07:33 +01:00
1 parent 4fe07d121a
commit 81bd6f6a26
9 files changed
+24 -23

No files matched your search

+2 -2
View File
@@ -52,9 +52,9 @@ class BaseFormView(TemplateView):
def _get_errors(self, params):
return {
'client_error' : params['client'] == '',
'client_error' : params['client'] == '' or len(params['client']) > 50,
'deadline_error' : params['deadline'] == '',
'contact_name_error' : params['contact_name'] == '',
'contact_name_error' : params['contact_name'] == '' or len(params['contact_name']) > 50,
'contact_email_error' : not utils.is_email_valid(params['contact_email']),
'contact_number_error' : not utils.is_phone_valid(params['contact_number']),
}
+2 -2
View File
@@ -2,8 +2,8 @@ import re
def is_phone_valid(phone_str):
pattern = re.compile('^(\+\d{2,4})?\s*(\s?\d){6,}$')
return pattern.match(phone_str) is not None
return pattern.match(phone_str) is not None and len(phone_str) <= 20
def is_email_valid(email_str):
pattern = re.compile('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$')
return pattern.match(email_str) is not None
return pattern.match(email_str) is not None and len(email_str) <= 50
+6 -6
View File
@@ -32,12 +32,12 @@ class DesignFormView(BaseFormView):
def _get_errors(self, params):
errors = super(DesignFormView, self)._get_errors(params)
errors.update({
'format_error' : params['format'] == '',
'format_other_error' : params['format'] == 'other' and params['format_other'] == '',
'paper_size_error' : params['paper_size'] == '',
'paper_size_other_error' : params['paper_size'] == 'other' and params['paper_size_other'] == '',
'colour_error' : params['colour'] == '',
'marger_error' : params['marger'] == '',
'format_error' : params['format'] == '' or len(params['format']) > 50,
'format_other_error' : params['format'] == 'other' and (params['format_other'] == '' or len(params['format_other']) > 50),
'paper_size_error' : params['paper_size'] == '' or len(params['paper_size']) > 50,
'paper_size_other_error' : params['paper_size'] == 'other' and (params['paper_size_other'] == '' or len(params['paper_size_other']) > 50),
'colour_error' : params['colour'] == '' or len(params['colour']) > 50,
'marger_error' : params['marger'] == '' or len(params['marger']) > 50,
'content_error' : False,
})
+2 -2
View File
@@ -28,8 +28,8 @@ class PrmFormView(BaseFormView):
def _get_errors(self, params):
errors = super(PrmFormView, self)._get_errors(params)
errors.update({
'assignment_type_error' : params['assignment_type'] == '',
'assignment_type_other_error' : params['assignment_type'] == 'other' and params['assignment_type_other'] == '',
'assignment_type_error' : params['assignment_type'] == '' or len(params['assignment_type']) > 50,
'assignment_type_other_error' : params['assignment_type'] == 'other' and (params['assignment_type_other'] == '' or len(params['assignment_type_other']) > 50),
'content_error' : params['content'] == '',
})
+5 -4
View File
@@ -32,10 +32,11 @@ class TekstFormView(BaseFormView):
def _get_errors(self, params):
errors = super(TekstFormView, self)._get_errors(params)
errors.update({
'text_type_error' : params['text_type'] == '',
'text_type_other_error' : params['text_type'] == 'other' and params['text_type_other'] == '',
'length_error' : params['length'] == '',
'image_error' : params['image'] == '',
'text_type_error' : params['text_type'] == '' or len(params['text_type']) > 50,
'text_type_other_error' : params['text_type'] == 'other' and (params['text_type_other'] == '' or len(params['text_type_other']) > 50),
'length_error' : params['length'] == '' or len(params['length']) > 50,
'image_error' : params['image'] == '' or len(params['image']) > 50,
'interview_name_error' : len(params['interview_name']) > 20,
'content_error' : False,
})
+2 -2
View File
@@ -33,7 +33,7 @@
</label>
<input type="text" name="format_other" value="{{ format_other }}" style="margin-left:20px;" />
{% if errors.format_other_error %}
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet".</label>
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet". Innholdet kan ikke ha mer enn 50 tegn.</label>
{% endif %}
</div>
@@ -62,7 +62,7 @@
<input name="paper_size" type="radio" value="other" {% if paper_size = 'other' %} checked="checked" {% endif %}>Annet:
</label>
{% if errors.paper_size_other_error %}
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet".</label>
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet". Innholdet kan ikke ha mer enn 50 tegn.</label>
{% endif %}
<input type="text" name="paper_size_other" value="{{ paper_size_other }}" style="margin-left:20px;" />
</div>
+2 -2
View File
@@ -31,7 +31,7 @@
<label>Hvem bestiller?</label>
<input type="text" name="client" value="{{ client }}" />
{% if errors.client_error %}
<label class="text-error">Feltet er obligatorisk.</label>
<label class="text-error">Feltet er obligatorisk og kan ikke ha mer enn 50 tegn.</label>
{% endif %}
</div>
@@ -53,7 +53,7 @@
<div class="controls">
<input type="text" name="contact_name" value="{{ contact_name }}" />
{% if errors.contact_name_error %}
<label class="text-error">Feltet er obligatorisk.</label>
<label class="text-error">Feltet er obligatorisk og kan ikke har mer enn 50 tegn.</label>
{% endif %}
</div>
</div>
+1 -1
View File
@@ -27,7 +27,7 @@
</label>
<input type="text" name="assignment_type_other" value="{{ assignment_type_other }}" style="margin-left:20px;" />
{% if errors.assignment_type_other_error %}
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet".</label>
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet". Innholdet kan ikke ha mer enn 50 tegn.</label>
{% endif %}
</div>
<div class="formitem">
+2 -2
View File
@@ -30,7 +30,7 @@
</label>
<input type="text" name="text_type_other" value="{{ text_type_other }}" style="margin-left:20px;" />
{% if errors.text_type_other_error %}
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet".</label>
<label class="text-error" style="margin-left:20px;">Feltet er obligatorisk hvis du velger "annet". Innholdet kan ikke ha mer enn 50 tegn.</label>
{% endif %}
</div>
@@ -74,7 +74,7 @@
<div class="formitem form-horizontal">
<legend>Intervju</legend>
{% if errors.interview_error %}
<label class="text-error">Feltene er obligatoriske.</label>
<label class="text-error">Feltene er obligatoriske. Navn kan ikke være lenger enn 20 tegn.</label>
{% endif %}
<div class="control-group">
<label for="interview_name">Navn:</label>