フォームを検証する必要がありますが、私はこれをどうすればいいのか正確にはわかりません。私は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;
}
のようなものを追加することができ、そこから私はモデル/エンティティ/ User.pでこれを置くためにこれを追加する必要があるでしょうHPのフォルダ?ご回答ありがとうございます。 – VitorTech
保存しているモデルに追加します。したがって、ユーザーテーブルに保存する場合は、ユーザーモデルに追加します。 – bill
私は検証できません。 "追加"フォームの検証機能はありますが、登録フォームが検証機能を果たしていません。私はCakePHPの新機能です。 – VitorTech