processing forms
This commit is contained in:
SDE
2023-12-01 12:51:30 +03:00
parent cc9797eb71
commit 660e3f8a99
4 changed files with 41 additions and 23 deletions

View File

@@ -88,6 +88,10 @@ def send_message_ajax(request):
form_type = 'two_fields' form_type = 'two_fields'
if name =='phone': 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'<b>{_("Телефон")}:</b> {data["phone"]}<br>' phone_str = f'<b>{_("Телефон")}:</b> {data["phone"]}<br>'
if name =='email': if name =='email':

View File

@@ -96,27 +96,27 @@ def sortByLength(inputStr):
return len(inputStr) return len(inputStr)
def add_domain(request, url, add_lang=False): # def add_domain(request, url, add_lang=False):
domain = get_domain_by_request(request) # domain = get_domain_by_request(request)
if add_lang: # if add_lang:
cur_lang = get_cur_lang_by_request(request) # cur_lang = get_cur_lang_by_request(request)
return '{0}/{1}/{2}'.format(domain, cur_lang, url) # return '{0}/{1}/{2}'.format(domain, cur_lang, url)
else: # else:
return '{0}{1}'.format(domain, url) # return '{0}{1}'.format(domain, url)
def get_domain_by_request(request): # def get_domain_by_request(request):
from project_sets import domain # from project_sets import domain
if request.query_params and 'domain' in request.query_params: # if request.query_params and 'domain' in request.query_params:
return request.query_params['domain'] # return request.query_params['domain']
return domain # return domain
#
#
def get_cur_lang_by_request(request): # def get_cur_lang_by_request(request):
from project_sets import lang # from project_sets import lang
if request.query_params and 'cur_lang' in request.query_params: # if request.query_params and 'cur_lang' in request.query_params:
return request.query_params['cur_lang'] # return request.query_params['cur_lang']
return lang # return lang
def get_img_type_by_request(request): def get_img_type_by_request(request):
@@ -416,6 +416,8 @@ def kill_pretexts(txt):
return ' '.join(words) return ' '.join(words)
def stay_only_text_and_numbers(txt): def stay_only_text_and_numbers(txt):
bad_symbols = '"~`{}[]|!@#$%^&*()_+№;:?= ' bad_symbols = '"~`{}[]|!@#$%^&*()_+№;:?= '
nums = '0123456789' nums = '0123456789'

View File

@@ -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

View File

@@ -25,7 +25,7 @@
type="text" type="text"
{# {% if form.name %} required{% endif %}#} {# {% 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 %} {% if form.errors.name %}
<span>{{ form.errors.name }}</span> <span>{{ form.errors.name }}</span>
{% endif %} {% endif %}
@@ -36,7 +36,7 @@
name="email" name="email"
type="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 %} {% if form.errors.email %}
<span>{{ form.errors.email }}</span> <span>{{ form.errors.email }}</span>
@@ -47,7 +47,7 @@
<input name="phone" <input name="phone"
type="tel" type="tel"
placeholder="{% translate 'Телефон' %}"{% if form.data.phone %} value="{{ form.data.phone }}"{% endif %}> placeholder="{% translate 'Телефон' %}"{% if form.phone %} value="{{ form.phone }}"{% endif %}>
{% if form.errors.phone %} {% if form.errors.phone %}
<span>{{ form.errors.phone }}</span> <span>{{ form.errors.phone }}</span>
{% endif %} {% endif %}
@@ -66,7 +66,7 @@
placeholder= '{% translate "Сообщение" %}' placeholder= '{% translate "Сообщение" %}'
{# value="{% if form.data.text_msg %}{{ form.initial.text_msg }}{% endif %}"#} {# value="{% if form.data.text_msg %}{{ form.initial.text_msg }}{% endif %}"#}
maxlength="100" maxlength="100"
></textarea> >{% if form.text_msg %}{{ form.text_msg }}{% endif %}</textarea>
<span class="counter-text"> <span class="counter-text">
<span class="counter-text__current">0</span> <span class="counter-text__current">0</span>
/ /