Archived
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:
1 parent
4fe07d121a
commit
81bd6f6a26
9 files changed
+24
-23
No files matched your search
@@ -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,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
|
||||
@@ -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,
|
||||
})
|
||||
|
||||
|
||||
@@ -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'] == '',
|
||||
})
|
||||
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user