[Помогите] Валидация номера телефона в Simple

Тема в разделе "OpenCart", создана пользователем kastahhls, 8 окт 2016.

  1. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    • Красный цвет запрещён!
    Добрый день!
    Подскажите как в модуле Simple сделать валидацию для телефона.
    У меня стоит маска:
    $mask = '(999) 999-99-99';
    Клиенты задолбали указывать телефоны в формате (380) 990-00-00. Нужно сделать валидацию чтобы то что в скобочках проверяло на правильность мобильных операторов Украины: (050), (063), (066), (067), (068), (073), (093), (095), (096), (097), (098), (099). Т.е. я думаю что это можно реализовать так, чтобы проверялось первая цифра в скобочках и она была (0__), а не (380) или (806).
    2 дня ломаю голову нашёл такой вариант
    preg_match("/(\([0]{1}[9]{2}\))([9]{3})-([9]{2})-([9]{2})/");
    Но он для php и я вот не знаю в какой файл и как правильно его запихнуть. А в специальное поле "По регулярному выражению" он не работает, т.е. выдаёт ошибку и на правильный и на неправильный формат.
    Помогите плиз разобраться, уже нету сил!!!
     
    Lasted edited by : 8 окт 2016
  2. dedychka

    dedychka

    Регистрация:
    26 сен 2016
    Сообщения:
    10
    Симпатии:
    4
    Добрый. Тебе написать на php регулярное выражение, или на JS ? Можно проще поставь конструкцию if else if,или switch
     
    kastahhls нравится это.
  3. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Добрый вечер. Мне не принципиально как это сделать, главное чтобы работало и чтобы я смог разобраться
     
  4. dedychka

    dedychka

    Регистрация:
    26 сен 2016
    Сообщения:
    10
    Симпатии:
    4
    В какую переменную приходит Ваш номер телефона? Скиньте под хайдом Ваш кусок кода.
     
    kastahhls нравится это.
  5. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Честно говоря я не понял что мне нужно скинуть((
    Вот файл в котором задаётся маска телефона

    PHP:
    <?php

    class ModelToolSimpleData extends Model {

        public function 
    select_main_city($fields) {
            
    $values = array();
            
            
    $country_id $fields['main_country_id']['value']; // id of selected country
            
    $zone_id $fields['main_zone_id']['value'];       // id of selected zone

            //echo $country_id.' -> '.$zone_id;

            // list of values for current country_id and zone_id
            
    $query $this->db->query("SELECT name FROM city WHERE zone_id = '".(int)$zone_id."' ORDER BY name ASC");

            foreach (
    $query->rows as $result) {
                
    $values[$result['name']] = $result['name'];
            }
            
            return 
    $values;
        }

        public function 
    init_main_city($fields) {
            return 
    3;
        }

        public function 
    validate_main_city($value$fields) {
            return empty(
    $value) ? 'error' '';
        }

        public function 
    validate_main_tax_id($value$fields) {
            
    $this->load->helper('vat');
            
    $this->load->model('localisation/country');
            
    $this->language->load('account/register');

            
    $country_id $fields['main_country_id']['value'];

            
    $country $this->model_localisation_country->getCountry($country_id);

            if (
    $country && !empty($country['iso_code_2']) && vat_validation($country['iso_code_2'], $value) == 'invalid') {
                return 
    $this->language->get('error_vat');
            }

            return 
    '';
        }

        public function 
    mask_main_telephone($fields) {
            
    $mask '';

            
    // example for setting a mask by selected language

            
    $country_id $fields['main_country_id']['value']; // id of selected country

            
    if ($country_id == 176) {
                
    $mask '+7(999)999-9999';
            }

            
    // example for setting a mask by selected language

            
    $lang_code $this->config->get('config_language');

            if (
    $lang_code == 'ru') {
                
    $mask '(999) 999-99-99';
            } else {
                
    $mask '99999999999';
            }

            return 
    $mask;
        }

        public function 
    status_custom_lift($fields) {
            
    $shippping $this->simple->shipping_method;
            return 
    $shippping['code'] == 'flat.flat' true false;
        }

        public function 
    status_custom_flat($fields) {
            
    $shippping $this->simple->shipping_method;
            return 
    $shippping['code'] == 'flat.flat' && $fields['custom_lift']['value'] == true false;
        }

        public function 
    reload_custom_lift($fields) {
            
    $shippping $this->simple->shipping_method;
            return 
    $shippping['code'] == 'flat.flat' true false;
        }
        
        public function 
    select_custom_select($fields) {
            
    $values = array();
            
            
    /*$this->load->model('account/salesrep');
            $salesreps = $this->model_account_salesrep->getSalesReps();
            
            foreach ($salesreps as $salesrep) {
                $values[$salesrep['salesrep_id']] = $salesrep['name'];
            }*/

            // $other_field_value = $fields['field_id']['value'];
            // $zone_id = $fields['main_zone_id']['value'];

            
    $values[1] = 'Name 1';
            
    $values[2] = 'Name 2';
            
    $values[3] = 'Name 3';
            
    $values[4] = 'Name 4';
            
            return 
    $values;
        }

        
    // This is example of validation method for field company_name. This method must return text of the validation error.
        
    public function validate_company_name($value) {
            return empty(
    $value) ? 'error' '';
        }
    }
    ?>
     
  6. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    В Simple используется библиотека jquery.maskedinput
    Самым простым способом решить данную проблему будет вручную задать input паттерн:
    Код:
    ^\+38\((050|063|066|067|068|073|093|095|096|097|098|099)\) \d{3}-\d{2}-\d{2}$
    И присвоить ему маску:
    Код:
    $("#input").mask("+38(999) 999-99-99",{placeholder: "+38(___) ___-__-__" });
     
    kastahhls нравится это.
  7. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    А куда это прописать?
     
  8. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    У меня Simple под рукой нет, нужно смотреть файл tpl который отображает страницу оформления заказа.
    Для наглядности пример, что бы было понятнее в чем смысл.
    Код:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script>
    </head>
    <body>
        <form>
            <input id='input' type="tel" pattern="^\+38\((050|063|066|067|068|073|093|095|096|097|098|099)\) \d{3}-\d{2}-\d{2}$" required="required">
            <button type="submit">Перезвоните мне</button>
        </form>
        <script type="text/javascript">
            $("#input").mask("+38(999) 999-99-99",{placeholder: "+38(___) ___-__-__" });
        </script>
    </body>
    </html>
    Ну или скинь ссылку на свой сайт я посмотрю через отладчик.
     
    Последнее редактирование: 8 окт 2016
    kastahhls нравится это.
  9. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Дело в том, что в tpl файле нет инпута для вывода телефона, в симпле эти поля выставляются в настройках модуля. И там же есть валидация

    Вот на всякий случай код

    HTML:
    <div class="simplecheckout-block-heading" <?php echo $simple_customer_hide_if_logged ? 'style="display:none"' : '' ?>>
        <div class="shag"><span>Шаг 2 - <?php echo $text_checkout_customer ?></span></div>
        <?php if ($simple_customer_view_login) { ?>
        <span class="simplecheckout-block-heading-button">
            <a href="<?php echo $default_login_link ?>" <?php if (!$is_mobile) { ?>onclick="simple_login_open();return false;"<?php } ?> id="simplecheckout_customer_login"><?php echo $text_checkout_customer_login ?></a>
        </span>
        <?php } ?>
    </div>
    <div class="simplecheckout-block-content" <?php echo $simple_customer_hide_if_logged ? 'style="display:none"' : '' ?>>
        <?php if ($simple_customer_registered) { ?>
            <div class="success" id="customer_registered" style="text-align:left;"><?php echo $simple_customer_registered ?></div>
        <?php } ?>
        <?php if ($text_you_will_be_registered) { ?>
            <div class="you-will-be-registered"><?php echo $text_you_will_be_registered ?></div>
        <?php } ?>
        <?php if ($simple_customer_view_address_select && !empty($addresses)) { ?>
            <div class="simplecheckout-customer-address">
            <span><?php echo $text_select_address ?>:</span>&nbsp;
            <select name='customer_address_id' id="customer_address_id" reload='address_changed'>
                <option value="0" <?php echo $customer_address_id == 0 ? 'selected="selected"' : '' ?>><?php echo $text_add_new ?></option>
                <?php foreach($addresses as $address) { ?>
                    <option value="<?php echo $address['address_id'] ?>" <?php echo $customer_address_id == $address['address_id'] ? 'selected="selected"' : '' ?>><?php echo $address['firstname']; ?> <?php echo !empty($address['lastname']) ? ' '.$address['lastname'] : ''; ?><?php echo !empty($address['address_1']) ? ', '.$address['address_1'] : ''; ?><?php echo !empty($address['city']) ? ', '.$address['city'] : ''; ?></option>
                <?php } ?>
            </select>
            </div>
        <?php } ?>
        <input type="hidden" name="<?php echo Simple::SET_CHECKOUT_CUSTOMER ?>[address_id]" id="customer_address_id" value="<?php echo $customer_address_id ?>" />
        <?php $split_previous = false; ?>
        <?php $user_choice = false; ?>
        <div class="simplecheckout-customer-block">
        <table class="<?php echo $simple_customer_two_column ? 'simplecheckout-customer-two-column-left' : 'simplecheckout-customer-one-column' ?>">
            <?php $email_field_exists = false; ?>
            <?php $i = 0; ?>
            <?php $geo_selector_used = false; ?>
            <?php foreach ($checkout_customer_fields as $field) { ?>
                <?php if ($i == 0 && !$customer_logged && $simple_customer_action_register == Simple::REGISTER_USER_CHOICE) { ?>
                    <tr>
                        <td class="simplecheckout-customer-left">
                           <?php echo $entry_register; ?>
                        </td>
                        <td class="simplecheckout-customer-right">
                          <label><input type="radio" name="register" value="1" <?php echo $register == 1 ? 'checked="checked"' : ''; ?> reload="customer_register" /><?php echo $text_yes ?></label>&nbsp;
                          <label><input type="radio" name="register" value="0" <?php echo $register == 0 ? 'checked="checked"' : ''; ?> reload="customer_not_register" /><?php echo $text_no ?></label>
                        </td>
                    </tr>
                    <?php $user_choice = true; ?>
                <?php $i++ ?>
                <?php } ?>
                <?php if ($field['type'] == 'hidden') { ?>
                    <?php continue; ?>
                <?php } elseif ($field['type'] == 'header') { ?>
                <tr class="simple_table_row" <?php echo !empty($field['place']) ? 'place="'.$field['place'].'"' : '' ?>>
                    <td colspan="2" <?php echo $user_choice && $split_previous ? 'class="simple-header-right"' : ''; ?>>
                        <?php echo $field['tag_open'] ?><?php echo $field['label'] ?><?php echo $field['tag_close'] ?>
                    </td>
                </tr>
                <?php } elseif ($field['type'] == 'split') { ?>
                    </table>
                    <table class="<?php echo $simple_customer_two_column ? 'simplecheckout-customer-two-column-right' : 'simplecheckout-customer-one-column' ?>">
                    <?php $split_previous = true; ?>
                <?php } else { ?>
                    <?php if ((($user_choice && $i == 1) || (!$user_choice && $i == 0)) && $simple_customer_view_customer_type) { ?>
                        <tr>
                            <td class="simplecheckout-customer-left">
                                <?php echo $entry_customer_type ?>
                            </td>
                            <td class="simplecheckout-customer-right">
                                <?php if ($simple_type_of_selection_of_group == 'select') { ?>
                                <select name="customer_group_id" reload="group_changed">
                                    <?php foreach ($customer_groups as $id => $name) { ?>
                                    <option value="<?php echo $id ?>" <?php echo $id == $customer_group_id ? 'selected="selected"' : '' ?>><?php echo $name ?></option>
                                    <?php } ?>
                                </select>
                                <?php } else { ?>
                                    <?php foreach ($customer_groups as $id => $name) { ?>
                                    <label><input type="radio" name="customer_group_id" reload="group_changed" value="<?php echo $id ?>" <?php echo $id == $customer_group_id ? 'checked="checked"' : '' ?>><?php echo $name ?></label><br>
                                    <?php } ?>
                                <?php } ?>
                            </td>
                        </tr>
                        <?php $i++ ?>
                        <?php $split_previous = false; ?>
                    <?php } ?>
                    <?php if ($field['id'] == 'main_email') { ?>
                        <?php if (!$customer_logged) { ?>
                            <?php if (!$simple_customer_action_register &&  !$simple_customer_view_email && !$simple_customer_view_customer_type) { continue; } ?>
                            <?php $split_previous = false; ?>
                            <?php if (!($simple_customer_view_email == Simple::EMAIL_NOT_SHOW && ($simple_customer_action_register == Simple::REGISTER_NO || ($simple_customer_action_register == Simple::REGISTER_USER_CHOICE && !$register)))) { ?>
                            <?php $email_field_exists = true; ?>
                            <tr>
                                <td class="simplecheckout-customer-left">
                                    <?php echo $field['label'] ?>
                                </td>
                                <td class="simplecheckout-customer-right">
                                    <?php echo $simple->html_field($field) ?>
                                    <?php if (!empty($field['error']) && $simple_show_errors) { ?>
                                        <span class="simplecheckout-error-text"><?php echo $field['error']; ?></span>
                                    <?php } ?>
                                </td>
                            </tr>
                            <?php if ($simple_customer_view_email_confirm) { ?>
                            <tr>
                                <td class="simplecheckout-customer-left">
                                    <?php echo $entry_email_confirm ?>
                                </td>
                                <td class="simplecheckout-customer-right">
                                    <input name="email_confirm" id="email_confirm" type="text" value="<?php echo $email_confirm ?>">
                                    <span class="simplecheckout-error-text" id="email_confirm_error" <?php if (!($email_confirm_error && $simple_show_errors)) { ?>style="display:none;"<?php } ?>><?php echo $error_email_confirm; ?></span>
                                </td>
                            </tr>
                            <?php } ?>
                            <?php if ($simple_customer_action_register == Simple::REGISTER_YES || ($simple_customer_action_register == Simple::REGISTER_USER_CHOICE && $register)) { ?>
                                <tr id="password_row" <?php echo $simple_customer_generate_password ? ' style="display:none;"' : '' ?> <?php echo $simple_customer_generate_password ? 'autogenerate="1"' : '' ?>>
                                    <td class="simplecheckout-customer-left">
                                        <?php echo $entry_password ?>
                                    </td>
                                    <td class="simplecheckout-customer-right">
                                        <input <?php echo !empty($error_password) ? 'class="simplecheckout-red-border"' : '' ?> type="password" name="password" value="<?php echo $password ?>">
                                        <?php if (!empty($error_password) && $simple_show_errors) { ?>
                                            <span class="simplecheckout-error-text"><?php echo $error_password; ?></span>
                                        <?php } ?>
                                    </td>
                                </tr>
                                <?php if ($simple_customer_view_password_confirm) { ?>
                                <tr id="confirm_password_row" <?php echo $simple_customer_generate_password ? ' style="display:none;"' : '' ?> <?php echo $simple_customer_generate_password ? 'autogenerate="1"' : '' ?>>
                                    <td class="simplecheckout-customer-left">
                                        <?php echo $entry_password_confirm ?>
                                    </td>
                                    <td class="simplecheckout-customer-right">
                                        <input <?php echo !empty($error_password_confirm) ? 'class="simplecheckout-red-border"' : '' ?> type="password" name="password_confirm" value="<?php echo $password_confirm ?>">
                                        <?php if (!empty($error_password_confirm) && $simple_show_errors) { ?>
                                            <span class="simplecheckout-error-text"><?php echo $error_password_confirm; ?></span>
                                        <?php } ?>
                                    </td>
                                </tr>
                                <?php } ?>
                            <?php } ?>
                            <?php } ?>
                        <?php } ?>
                        <?php if ($customer_logged) { continue; } ?>
                    <?php } else { ?>
                        <tr class="simple_table_row <?php echo !empty($field['selector']) ? ' simple-geo-selector-customer' : '' ?>" <?php echo !empty($field['place']) ? 'place="'.$field['place'].'"' : '' ?><?php echo !empty($field['selector']) ? ' style="display:none;"' : '' ?>>
                            <td class="simplecheckout-customer-left">
                                <?php echo $field['label'] ?>
                            </td>
                            <td class="simplecheckout-customer-right">
                                <?php echo $simple->html_field($field) ?>
                                <?php if (!empty($field['error']) && $simple_show_errors) { ?>
                                    <span class="simplecheckout-error-text"><?php echo $field['error']; ?></span>
                                <?php } ?>
                            </td>
                        </tr>
                        <?php $split_previous = false; ?>
                        <?php $geo_selector_used = $geo_selector_used || !empty($field['selector']); ?>
                    <?php } ?>
                    <?php $i++; ?>
                <?php } ?>
            <?php } ?>
            <?php if ($geo_selector_used) { ?>
                <tr id="simple_geo_selector_customer">
                    <td colspan="2" style="text-align:center;">
                        <a onclick="simplecheckout_show_selector('customer');"><?php echo $text_show_selector ?></a>
                    </td>
                </tr>
            <?php } ?>
            <?php if ($simple_customer_action_subscribe == Simple::SUBSCRIBE_USER_CHOICE && $email_field_exists) { ?>
                <tr id="subscribe_row"<?php echo $simple_customer_action_register == Simple::REGISTER_USER_CHOICE && !$register && !$simple_customer_view_email ? ' style="display:none;"' : '' ?>>
                    <td class="simplecheckout-customer-left">
                       <?php echo $entry_newsletter; ?>
                    </td>
                    <td class="simplecheckout-customer-right">
                      <label><input type="radio" name="subscribe" value="1" <?php echo $subscribe == 1 ? 'checked="checked"' : ''; ?> /><?php echo $text_yes ?></label>&nbsp;
                      <label><input type="radio" name="subscribe" value="0" <?php echo $subscribe == 0 ? 'checked="checked"' : ''; ?> /><?php echo $text_no ?></label>
                    </td>
                </tr>
            <?php } ?>
        </table>
        <?php foreach ($checkout_customer_fields as $field) { ?>
            <?php if ($field['type'] == 'hidden') { ?>
            <?php echo $simple->html_field($field) ?>
            <?php } ?>
        <?php } ?>
        </div>
    </div>
    
    <?php if ($simple_show_shipping_address) { ?>
    <div class="simplecheckout-customer-same-address">
    <?php if ($simple_show_shipping_address_same_show) { ?>
        <label><input type="checkbox" name="shipping_address_same" id="shipping_address_same" value="1" <?php if ($shipping_address_same) { ?>checked="checked"<?php } ?> reload="address_same">&nbsp;<?php echo $entry_address_same ?></label>
    <?php } ?>
    </div>
    <?php if (!$shipping_address_same) { ?>
    <div class="simplecheckout-block-heading simplecheckout-shipping-address" <?php echo $simple_address_hide_if_logged ? 'style="display:none"' : '' ?>>
      
    </div>
    <div class="simplecheckout-block-content simplecheckout-shipping-address" <?php echo $simple_address_hide_if_logged ? 'style="display:none"' : '' ?>>
        <?php if ($simple_shipping_view_address_select && !empty($addresses)) { ?>
            <div class="simplecheckout-customer-address">
            <span><?php echo $text_select_address ?>:</span>&nbsp;
            <select name='shipping_address_id' id="shipping_address_id" reload='address_changed'>
                <option value="0" <?php echo $shipping_address_id == 0 ? 'selected="selected"' : '' ?>><?php echo $text_add_new ?></option>
                <?php foreach($addresses as $address) { ?>
                    <option value="<?php echo $address['address_id'] ?>" <?php echo $shipping_address_id == $address['address_id'] ? 'selected="selected"' : '' ?>><?php echo $address['firstname']; ?> <?php echo !empty($address['lastname']) ? ' '.$address['lastname'] : ''; ?><?php echo !empty($address['address_1']) ? ', '.$address['address_1'] : ''; ?><?php echo !empty($address['city']) ? ', '.$address['city'] : ''; ?></option>
                <?php } ?>
            </select>
            </div>
        <?php } ?>
        <input type="hidden" name="<?php echo Simple::SET_CHECKOUT_ADDRESS ?>[address_id]" id="shipping_address_id" value="<?php echo $shipping_address_id ?>" />
        <div class="simplecheckout-customer-block">
        <table class="<?php echo $simple_customer_two_column ? 'simplecheckout-customer-two-column-left' : 'simplecheckout-customer-one-column' ?>">
            <?php $geo_selector_used = false; ?>
            <?php foreach ($checkout_address_fields as $field) { ?>
                <?php if ($field['type'] == 'hidden') { ?>
                    <?php continue; ?>
                <?php } elseif ($field['type'] == 'header') { ?>
                <tr class="simple_table_row" <?php echo !empty($field['place']) ? 'place="'.$field['place'].'"' : '' ?>>
                    <td colspan="2">
                        <?php echo $field['tag_open'] ?><?php echo $field['label'] ?><?php echo $field['tag_close'] ?>
                    </td>
                </tr>
                <?php } elseif ($field['type'] == 'split') { ?>
                    </table>
                    <table class="<?php echo $simple_customer_two_column ? 'simplecheckout-customer-two-column-right' : 'simplecheckout-customer-one-column' ?>">
                <?php } else { ?>
                <tr class="simple_table_row <?php echo !empty($field['selector']) ? ' simple-geo-selector-address' : '' ?>" <?php echo !empty($field['place']) ? 'place="'.$field['place'].'"' : '' ?><?php echo !empty($field['selector']) ? ' style="display:none;"' : '' ?>>
                    <td class="simplecheckout-customer-left">
                        <?php echo $field['label'] ?>
                    </td>
                    <td class="simplecheckout-customer-right">
                        <?php echo $simple->html_field($field) ?>
                        <?php if (!empty($field['error']) && $simple_show_errors) { ?>
                            <span class="simplecheckout-error-text"><?php echo $field['error']; ?></span>
                        <?php } ?>
                    </td>
                </tr>
                <?php $geo_selector_used = $geo_selector_used || !empty($field['selector']); ?>
                <?php } ?>
            <?php } ?>
            <?php if ($geo_selector_used) { ?>
                <tr id="simple_geo_selector_address">
                    <td colspan="2" style="text-align:center;">
                        <a onclick="simplecheckout_show_selector('address');"><?php echo $text_show_selector ?></a>
                    </td>
                </tr>
            <?php } ?>
        </table>
        <?php foreach ($checkout_address_fields as $field) { ?>
            <?php if ($field['type'] == 'hidden') { ?>
            <?php echo $simple->html_field($field) ?>
            <?php } ?>
        <?php } ?>
        </div>
    </div>
    <?php } ?>
    <?php } ?>
    <?php if ($simple_debug) print_r($customer); ?>
    <?php if ($simple_debug) print_r($comment); ?>
     
    Последнее редактирование: 8 окт 2016
  10. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    Со скриншотом лучше.
    Валидация:
    ☑ по регулярному выражению: ^\+38\((050|063|066|067|068|073|093|095|096|097|098|099)\) \d{3}-\d{2}-\d{2}$

    Маска поля для плагина
    jQuery masked input
    : +38(999) 999-99-99

    Placeholder: +38(___) ___-__-__
     
    Последнее редактирование: 8 окт 2016
    kastahhls нравится это.
  11. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Сделал всё ка Вы сказали, не хочет работать
     
  12. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    А если снять галочку с:
    ☑ через вызов метода mask_main_telephone
    что он делает не понятно, и как он влияет :Unknown:
    Есть возможность ссылку на сайт сбросить? Было бы проще.
     
    kastahhls нравится это.
  13. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    пробовал и так и так
    ссылку на сайт скинул в личку
     
  14. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    Непонятно где происходит валидация по регулярке, в атр pattern ничего не добавляется. Завтра еще посмотрю, поздно, голова уже не варит.
     
    kastahhls нравится это.
  15. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Хорошо, спасибо! Буду ждать завтра ответа.
     
  16. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    И так, валидация формы проходит полностью на стороне сервера, соответственно и регулярку нужно немного подправить:
    Валидация:
    ☑ по регулярному выражению: /^\+38\((050|063|066|067|068|073|093|095|096|097|098|099)\) \d{3}-\d{2}-\d{2}$/
    Теперь должно работать, не вижу причин что бы этого не произошло.
     
    kastahhls нравится это.
  17. kastahhls

    kastahhls

    Регистрация:
    30 дек 2012
    Сообщения:
    114
    Симпатии:
    13
    Спасибо ОГРОМНОЕ, всё работает как часы! Хорошо что есть такие люди на свете)