Skocz do zawartości


Zdjęcie

Pole wymagane - nr telefonu

telefon walidacja numer pole wymagane required

  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Dagmarus

Dagmarus

    Początkujący

  • Members
  • Pip
  • 8 postów
  • PrestaShop:1.6

Napisano 15 październik 2016 - 09:38

Witam, oto mój problem:

 

Podczas zakupu jako gość klient wypełnia formularz. Wszystko przebiega normalnie do momentu wpisania nr telefonu. Mimo wpisania numeru (obojętnie, czy stacjonarnego, czy komórkowego, ze spacjami, czy bez) pojawia się komunikat, że należy wprowadzić numer telefonu, formularz nie jest wysyłany i konto gościa się nie tworzy.

 

W pliku classes/Adress.php mam takie linie:

 

            'phone' =>                array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'required' => true, 'size' => 32),
            'phone_mobile' =>        array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32),

 

Chodziło nam o to, by zakładając konto jako zalogowany klient nie trzeba było wpisywać zarówno nr tel stacjonarnego i komórkowego.

Proszę o poradę co z tym zrobić.

Może wyrzucić z formularza pole "telefon komórkowy" (podczas zakładania konta normalnego)? Tylko gdzie znaleźć ten fragment kodu? Czy to jest w pliku adress.tpl? Czy jeśli z tego pliku wyrzucę następujące linie:

 

            {if $field_name eq 'phone_mobile'}
                {assign var="mobilePhoneExist" value=true}
                <div class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group">
                    <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>**</sup>{/if}</label>
                    <input class="validate form-control" data-validate="{$address_validation.phone_mobile.validate}" type="tel" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile|escape:'html':'UTF-8'}{/if}{/if}" />
                </div>
            {/if}
            {if ($field_name eq 'phone_mobile') || ($field_name eq 'phone_mobile') && !isset($atLeastOneExists) && isset($one_phone_at_least) && $one_phone_at_least}
                {assign var="atLeastOneExists" value=true}
                <p class="inline-infos required">** {l s='You must register at least one phone number.'}</p>
            {/if}

 

to będzie ok?

 

Nie chcę czegoś namieszać, choć i tak zawsze dla pewności pracuję sobie na kopii pliku. :)

 

Adres sklepu: www.verbinum.pl

Presta 1.6.1.6

 

Dzięki za odpowiedź/podpowiedź.



#2 sower

sower

    Guru

  • Moderatorzy
  • 4192 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 15 październik 2016 - 11:27

a nie prościej wywalić telefon w ustawieniach  adresu w danym kraju? + ewentualnie wywalić required w klasie adres







Również z jednym lub większą ilością słów kluczowych: telefon, walidacja, numer, pole wymagane, required

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych

Hosting zapewnia: Hekko.pl