diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py index 835ef48..639cb37 100644 --- a/AuthApp/js_views.py +++ b/AuthApp/js_views.py @@ -88,6 +88,10 @@ def send_message_ajax(request): form_type = 'two_fields' if name =='phone': + from BaseModels.validators.form_field_validators import get_phone_valid_error + error = get_phone_valid_error(data["phone"]) + if error: + errors.update({name: _(error)}) phone_str = f'{_("Телефон")}: {data["phone"]}
' if name =='email': diff --git a/BaseModels/functions.py b/BaseModels/functions.py index f19bb49..b5709f3 100644 --- a/BaseModels/functions.py +++ b/BaseModels/functions.py @@ -96,27 +96,27 @@ def sortByLength(inputStr): return len(inputStr) -def add_domain(request, url, add_lang=False): - domain = get_domain_by_request(request) - if add_lang: - cur_lang = get_cur_lang_by_request(request) - return '{0}/{1}/{2}'.format(domain, cur_lang, url) - else: - return '{0}{1}'.format(domain, url) +# def add_domain(request, url, add_lang=False): +# domain = get_domain_by_request(request) +# if add_lang: +# cur_lang = get_cur_lang_by_request(request) +# return '{0}/{1}/{2}'.format(domain, cur_lang, url) +# else: +# return '{0}{1}'.format(domain, url) -def get_domain_by_request(request): - from project_sets import domain - if request.query_params and 'domain' in request.query_params: - return request.query_params['domain'] - return domain - - -def get_cur_lang_by_request(request): - from project_sets import lang - if request.query_params and 'cur_lang' in request.query_params: - return request.query_params['cur_lang'] - return lang +# def get_domain_by_request(request): +# from project_sets import domain +# if request.query_params and 'domain' in request.query_params: +# return request.query_params['domain'] +# return domain +# +# +# def get_cur_lang_by_request(request): +# from project_sets import lang +# if request.query_params and 'cur_lang' in request.query_params: +# return request.query_params['cur_lang'] +# return lang def get_img_type_by_request(request): @@ -416,6 +416,8 @@ def kill_pretexts(txt): return ' '.join(words) + + def stay_only_text_and_numbers(txt): bad_symbols = '"~`{}[]|!@#$%^&*()_+№;:?= ' nums = '0123456789' diff --git a/BaseModels/validators/form_field_validators.py b/BaseModels/validators/form_field_validators.py new file mode 100644 index 0000000..12cbd8e --- /dev/null +++ b/BaseModels/validators/form_field_validators.py @@ -0,0 +1,12 @@ +from django.utils.translation import gettext as _ +def get_phone_valid_error(val): + allow_chars = '01234567890()+ -' + + i = 0 + while i < len(val): + if val[i] not in allow_chars: + return _('Некорректные символы в номере телефона, пример корректного ввода +7 925 8600100') + + i += 1 + + return None \ No newline at end of file diff --git a/templates/forms/f_feedback_form.html b/templates/forms/f_feedback_form.html index 17537cc..22829eb 100644 --- a/templates/forms/f_feedback_form.html +++ b/templates/forms/f_feedback_form.html @@ -25,7 +25,7 @@ type="text" {# {% if form.name %} required{% endif %}#} - placeholder="{% translate 'Имя' %}" {% if form.data.name %} value="{{ form.data.name }}"{% endif %}> + placeholder="{% translate 'Имя' %}" {% if form.name %} value="{{ form.name }}"{% endif %}> {% if form.errors.name %} {{ form.errors.name }} {% endif %} @@ -36,7 +36,7 @@ name="email" type="email" - placeholder="Е-mail"{% if form.data.email %} value="{{ form.data.email }}"{% endif %} + placeholder="Е-mail"{% if form.email %} value="{{ form.email }}"{% endif %} > {% if form.errors.email %} {{ form.errors.email }} @@ -47,7 +47,7 @@ + placeholder="{% translate 'Телефон' %}"{% if form.phone %} value="{{ form.phone }}"{% endif %}> {% if form.errors.phone %} {{ form.errors.phone }} {% endif %} @@ -66,7 +66,7 @@ placeholder= '{% translate "Сообщение" %}' {# value="{% if form.data.text_msg %}{{ form.initial.text_msg }}{% endif %}"#} maxlength="100" - > + >{% if form.text_msg %}{{ form.text_msg }}{% endif %} 0 /