2017-12-12 5 views
0

私は新しいユーザーを作成するためにPOSTを検証しようとしています.Cakeは指定されたデータを受け入れることを拒否しています。CakePHP 3.x Validatorが正しいデータを受け取ることを拒否しました

バリデータは次のように設定されている:私は

を使用してデバッグするとき、私は、それをそれは、適切なフォーマットで、右のデータ型をsuccedするために必要なすべてのデータを与えたとしてもカントー

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

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

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

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

$x = $employee->errors(); 
    if ($x) { 
     debug($employee); 
     debug($x); 
    } 

それはまだ、上記のフィールドでエラーがあります。

'first_name' => [ 
    '_required' => 'This field is required' 
], 
'last_name' => [ 
    '_required' => 'This field is required' 
], 
'email' => [ 
    '_required' => 'This field is required' 
], 
'title' => [ 
    '_required' => 'This field is required' 
] 

Cakes Validatorでこの問題が発生するとは思っていませんでしたが、なぜこれを拒否しますか?また、検証ツールには多くのオートマジックが起こっているため、この問題をより深くデバッグする方法はわかりません。

フィールドが正しく入力されているかどうかにかかわらず、エラーが発生します。この問題をデバッグするには誰かが見つかりませんでしたので、ここで質問しています。事前

+0

時間をかけてユーザーエンティティを確認します。アクセス可能なアレイリストを確認してください。 – Salines

+0

'debug($ employee)'は何の出力ですか?フィールドはそこにありますか? – cgTag

答えて

1

おかげで、間違いを発見されました:

従業員が対象で、バリデータはオブジェクトに見えるが、オブジェクトレベルのフィールドを探していませんでした。

私はオブジェクトに適用範囲をシフトすることによってそれを解決 - それを解決:)私は推測

初心者のミスを、それを発見したことが幸せ。

ありがとうございました!

関連する問題