2016-07-19 8 views
1

フォームを検証する必要がありますが、私はこれをどうすればいいのか正確にはわかりません。私はModel/Users.phpとModel/Table/UserTables.phpで何も検証しませんでした。CakePHP 3:フォームを検証する

誰かが私を助けることができますか?

register.ctp

<br> 
<div class="index large-4 medium-4 large-offset-4 medium-offset-4 columns"> 
    <div class="panel"> 
     <h2 class="text-center">Cadastro</h2> 
     <?= $this->Form->create(); ?> 

      <?= $this->Form->input('nome'); ?> 
      <?= $this->Form->input('email'); ?> 
      <?= $this->Form->input('password'); ?> 
      <?= $this->Form->submit('Cadastrar', array('class' => 'button')); ?> 


     <?= $this->Form->end(); ?> 
    </div> 
</div>  

私はこれを置くことができる場所exaclty私は知らない。UsersTable.php

public $validate = array(
    //campo que deve ser validado 
    ‘nome’ => array(
     //alias da validação 
     ‘notempty’ => array( 
    ‘rule’=>’notempty’,//validação para não aceitar vazio 
    ‘message’=>”Você deve preencher este campo”//erro 
    ) 
    ), 
    ‘idade’ => array(
    ‘notempty’ => array(
    ‘rule’ => ‘notempty’, 
    ‘message’ => ‘Você deve preencher este campo’ 
    ), 
    ‘numeric’ => array(
    ‘rule’ => ‘numeric’, 
    ‘message’ => ‘Você deve preencher este campo’ 
    ) 
) 
); 
} 

検証が唯一の "追加" フォームで動作します:

public function validationDefault(Validator $validator) 
    { 
     $validator 
      ->integer('id') 
      ->allowEmpty('id', 'create'); 

     $validator 
      ->requirePresence('nome', 'create') 
      ->notEmpty('nome'); 

     $validator 
      ->email('email') 
      ->requirePresence('email', 'create') 
      ->notEmpty('email'); 

     $validator 
      ->requirePresence('password', 'create') 
      ->notEmpty('password'); 



     return $validator; 
    } 

答えて

0

モデルにバリデーションを入れたいと思うでしょう。あなたは、CakePHP 2の検証構文を使用しているように見えますが、あなたのタイトルはあなたがここにいることがわかりますあなたはバージョン3を使用していると言う:ここではhttp://book.cakephp.org/2.0/en/models/data-validation.html#simple-rules

は、CakePHP 3検証のためのドキュメントです:http://book.cakephp.org/3.0/en/core-libraries/validation.html

ます」モデル

use Cake\Validation\Validator; 

$validator = new Validator(); 

、あなたが

$validator->notEmpty('title', 'Please fill this field') 
+0

のようなものを追加することができ、そこから私はモデル/エンティティ/ User.pでこれを置くためにこれを追加する必要があるでしょうHPのフォルダ?ご回答ありがとうございます。 – VitorTech

+0

保存しているモデルに追加します。したがって、ユーザーテーブルに保存する場合は、ユーザーモデルに追加します。 – bill

+0

私は検証できません。 "追加"フォームの検証機能はありますが、登録フォームが検証機能を果たしていません。私はCakePHPの新機能です。 – VitorTech

関連する問題