Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Где прописывается регулярное выражение?


Recommended Posts

Добрый день, столкнулся с ситуацией. Поле - Имя переименовал на Имя Отчество и теперь надо прописать регулярное выражение на проверку этого поля: [А-Я][а-я]+\s[А-Я][а-я]+
Чтобы обязательно был пробел. Подскажите, в каком файле это меняется?

 

PS не используя модуль Simple

Надіслати
Поділитися на інших сайтах


на какой странице ввод в поле? 

а так в контроллере выводимой страницы примерно тут

	private function validate() {
		if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32)) {
			$this->error['firstname'] = $this->language->get('error_firstname');
		}

		if ((utf8_strlen(trim($this->request->post['lastname'])) < 1) || (utf8_strlen(trim($this->request->post['lastname'])) > 32)) {
			$this->error['lastname'] = $this->language->get('error_lastname');
		}
       .......

 

Надіслати
Поділитися на інших сайтах

7 минут назад, oesemenov сказал:

Поле - Имя переименовал на Имя Отчество

где? регистрация?  оформление заказа?

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, Shkip сказал:

на какой странице ввод в поле?

 

/checkout

 

Спасибо, тогда следующий вопрос, в каком месте прописывать выражение это? В модуле Siple там вообще все просто, но после его установки заказы стали пропускаться в админке, поэтому отключил и пытаюсь своими силами настроить поля.

Надіслати
Поділитися на інших сайтах


			if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32)) {
				$json['error']['firstname'] = $this->language->get('error_firstname');
			}

			if ((utf8_strlen(trim($this->request->post['lastname'])) < 1) || (utf8_strlen(trim($this->request->post['lastname'])) > 32)) {
				$json['error']['lastname'] = $this->language->get('error_lastname');
			}

 

Змінено користувачем fanatic
Надіслати
Поділитися на інших сайтах

fanatic, спасибо, только пока вопрос все-таки остался. В Simple достаточно просто в поле прописывается выражение и все. А тут в какую часть кода это вставлять и через || ?

 

if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32) || (utf8_strlen(trim($this->request->post['firstname'])) = [А-Я][а-я]+\s[А-Я][а-я]+)) {
				$json['error']['firstname'] = $this->language->get('error_firstname');
			}

Так? :)

Надіслати
Поділитися на інших сайтах


1 час назад, oesemenov сказал:

Так?

неа:rolleyes:

после 

            if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32)) {
                $json['error']['firstname'] = $this->language->get('error_firstname');
            }

вставить

            if (! preg_match('/[А-Яа-я]+\s+[А-Яа-я]+/', trim($this->request->post['firstname']))) {
                if (isset($json['error']['firstname'])) {
                    $json['error']['firstname'] .= $this->language->get('error_firstname_1');
                } else {
                    $json['error']['firstname'] = $this->language->get('error_firstname_1');
                }
            }

в фйле  \catalog\language\ru-ru\checkout\checkout.php     добавить после  

$_['error_firstname']                = 'Имя должно быть от 1 до 32 символов!';

это

$_['error_firstname_1']              = 'Имя и фамилия, должны быть разделены пробелом';

 

Надіслати
Поділитися на інших сайтах

10 минут назад, Designer сказал:

if (empty($this->request->post['firstname'])) { /* Текст об ошибке, если поле не определено или пустое */ } else {

если поле не пустое, что уже не нужно проверять на пробел?

Надіслати
Поділитися на інших сайтах

11 минут назад, fanatic сказал:

если поле не пустое, что уже не нужно проверять на пробел?

да, протупил.  пора спать

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.