2016-08-08 2 views
0

저는 Prestashop 1.6으로 작업하고 있습니다. 저는 PHP가 아니지만 웹 사이트보기를 1 번 변경하고 싶습니다. 기본적으로 나는 집과 모바일을 위해 2 개의 전화 입력을 가지고있다. 그것은 그 모양 : 나는 하나 개 채워진 필드가 충분히 될 것이라고 생각했기 때문에 내가 먼저 하나가 표시되지했습니다PHP 휴대 전화 인증이 작동하지 않습니다.

<div style="display: none" class="form-group is_customer_param"> 
        <label for="phone">{l s='Home phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>**</sup>{/if}</label> 
        <input type="text" class="text form-control validate" name="phone" id="phone" data-validate="isPhoneNumber" value="{if isset($guestInformations) && isset($guestInformations.phone) && $guestInformations.phone}{$guestInformations.phone}{/if}" /> 
       </div> 
       <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 type="text" class="text form-control validate" name="phone_mobile" id="phone_mobile" data-validate="isPhoneNumber" value="{if isset($guestInformations) && isset($guestInformations.phone_mobile) && $guestInformations.phone_mobile}{$guestInformations.phone_mobile}{/if}" /> 
       </div> 
       {if isset($one_phone_at_least) && $one_phone_at_least} 
        {assign var="atLeastOneExists" value=true} 
        <p class="inline-infos required">* Podaj nr telefonu</p> 
       {/if} 

. 그리고 그것은있는 것처럼 보입니다. 하지만 휴대 전화 번호를 입력하지 않고 양식을 제출할 수 있습니다. 어쩌면 여기서 문제가있는 곳을 볼 수 있습니까? 아니면 어떻게 작동시킬 수 있습니까?

좋은 작품 필드의 예는, 정말 필요한 다른 분야와 결합되지 않은 : 나는 모바일이 방법의 유효성을 검사하려고했습니다

<div class="required form-group"> 
         <label for="lastname_invoice">{l s='Last name'} <sup>*</sup></label> 
         <input type="text" class="form-control validate" id="lastname_invoice" name="lastname_invoice" data-validate="isName" value="{if isset($guestInformations) && isset($guestInformations.lastname_invoice) && $guestInformations.lastname_invoice}{$guestInformations.lastname_invoice}{/if}" /> 
        </div> 

:

<div class="required phone_mobile form-group"> 
        <label for="phone_mobile">{l s='Mobile phone'} <sup>*</sup></label> 
        <input type="text" class="text form-control validate" name="phone_mobile" id="phone_mobile" data-validate="isPhoneNumber" value="{if isset($guestInformations) && isset($guestInformations.phone_mobile) && $guestInformations.phone_mobile}{$guestInformations.phone_mobile}{/if}" /> 
       </div> 

하지만 성공하지 ..

+0

은 표준 문의 양식입니까? –

답변

2

$one_phone_at_least 변수가 true으로 설정되지 않은 것 같습니다. 백 오피스에서 으로 이동하십시오.>고객과 "전화 번호는 필수"가 설정되어 있는지 확인하십시오. 그것은 그것을 고쳐야한다.

그런데 required 클래스는 form-group 컨테이너가 아닌 input 클래스에서 사용해야합니다. 변경 한 경우 사용자가 양식을 제출하지 못하게 할 수는 있지만 전화 번호없이 데이터를 전송하려고하면 서버에서 허용합니다. 첫 번째 단락의 단계를 따르면 서버는 전화 번호가 설정되도록 요구할 것입니다.

+0

예! 그게 전부 야. 고맙습니다. 나는이 "필수"가 div에서 사용되는 이유를 모르겠습니다. 아마 어딘가에서 CSS 선택기로 사용됩니다. 어쨌든 대단히 감사합니다 :) – RIPI

0

오픈 컨트롤러/프론트/ContactController.php "postProcess()"함수에

당신은 그 메시지를 확인하고 전화 번호 목록에 추가 할 필수 전화 번호를 만들기 위해

을 바꿀 것

의무 만들기 위해 해제하는 데 필요한 같은 필드를 입력하는 ELSEIF입니다 수 있습니다

} elseif (!(Tools::getValue('phone_mobile')||Tools::getValue('phone'))) { 
      $this->errors[] = Tools::displayError('It is mandatory to enter a pleasant phone number.'); 
} 
관련 문제