2016-11-03 2 views
1

magento 2로 사용자 세부 사항을위한 간단한 사용자 정의 모듈을 작성합니다.이 패키지에는 3 개의 fileds가있는 양식이 있습니다. 제출하기 전에 해당 데이터의 유효성을 검사하고 싶습니다. Magento 2에서 어떻게 이것을 얻을 수 있습니까? 기본 magento 유효성 검사기가 data-validate = {} ...처럼 작동하지 않습니다. 유효성 검사를 위해 추가 js 파일을 추가해야합니까?사용자 정의 모듈 Magento 2의 폼 유효성 검사 방법

helloworld.phtml 파일 유효성 검사 코드 아래

<form class="form create account form-create-account" action="<?php echo $block->getFormAction() ?>" method="post" enctype="multipart/form-data" data-mage-init='{"validation":{}}'> 
    <fieldset class="fieldset create account" data-hasrequired="<?php /* @escapeNotVerified */ echo __('* Required Fields') ?>"> 
     <legend class="legend"><span><?php /* @escapeNotVerified */ echo __('Customer Information') ?></span></legend><br> 
     <div class="field required"> 
      <label for="email_address" class="label"><span><?php /* @escapeNotVerified */ echo __('Email') ?></span></label> 
      <div class="control"> 
       <input type="email" name="email" autocomplete="email" id="email_address" value="" title="<?php /* @escapeNotVerified */ echo __('Email') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}"> 
      </div> 
     </div> 

     <div class="field required"> 
      <label for="First_Name" class="label"><span><?php /* @escapeNotVerified */ echo __('FirstName') ?></span></label> 
      <div class="control"> 
       <input type="text" name="firstname" id="first" value="" title="<?php /* @escapeNotVerified */ echo __('Email') ?>" class="input-text" data-validate="{required:true}" > 
      </div> 
     </div> 

     <div class="field required"> 
      <label class="label"><span><?php /* @escapeNotVerified */ echo __('LastName') ?></span></label> 
      <div class="control"> 
       <input type="text" name="lastname" id="first" value="" title="<?php /* @escapeNotVerified */ echo __('LastName') ?>" class="input-text" > 
      </div> 
     </div> 

     <button type="submit" class="action submit primary" <span><?php /* @escapeNotVerified */ echo __('Submit') ?></span></button> 

</form> 
+0

당신이 부하에게 레이아웃 파일에서이 템플릿을 얼마나, 당신은 당신의 디렉토리 구조 나 레이아웃 문제로 문제가 될 수 있습니다, 당신의 코드는 완벽한 외모와 여기 일 확인? –

+0

예 ... 위의 .phtml 파일에서이 스크립트를 추가 한 후에 작동합니다. <0126> "validation": {} } } –

+0

phtml 파일에 스크립트를 추가 할 필요가 없습니다.이 양식을 양식에 추가하면됩니다. data-hasrequired = ""data-mage-init = '{ "validation": {}}'> –

답변

2

은 코드 아래에 사용하기 위해 당신은 당신의 형태로 id를 추가해야하고 id 것을 당신은 자바 스크립트 코드 아래에서 사용해야합니다.

<script type="text/javascript"> 
require([ 
    'jquery', 
    'mage/mage' 
], function($){ 

    var dataForm = $('#custom-form'); 
    dataForm.mage('validation', {}); 

}); 
</script> 

검증 정의 된 자바 스크립트 라이브러리 젠토에서 I는 이름 입력과 같은 형태의 입력 요소에 대한 원격 검증을 필요로 확인 양식을 제출하기 전에,이 필드의 유효성 검증 대하여

lib/web/mage/validation.js 
0

인 이 사용자 이름이 존재하지 않습니까? 나는이 방법을 구현했다 .... 더 좋은 제안이 있는가?

magento-jquery-remote-validation

+0

이 핵심 파일을 확인하십시오 MagentoRootDirectory/vendor/Magento/module-customer/view/frontend/template/form/register.phtml –

+0

감사합니다. 많이 @vijayb – Manish

관련 문제