CakePHP の連絡先フォームで非常に単純な検証を実行しようとしていますが、必要なことはすべて実行したと思いますが、検証が機能しません。これが私がしたことです:
次のようなモデルを作成しました。
class Office extends AppModel { var $name = 'Office'; var $useTable = false; public $validate = array('onderwerp' => 'notEmpty'); }
$validate
( CakePHPオンラインマニュアルから他の多くの値も試しました)Config/bootstrap.php で、CakePHP に複数の「Office」を期待させないように、次のルールを作成しました。
Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array('office')));
OfficeController では、メソッドでこれを行います
contact()
。$this->Office->set($this->request->data); if($this->Office->validates()){ echo "code validates"; } else { print_r($this->Office->validationErrors); }
そして、私の
Office/contact.ctp
見解では、(フォームの開始と終了などの他のコードの中で)次のコードがあります。$this->Form->input('onderwerp', array('label'=>false, 'size' => 60));
これで、「onderwerp」フィールドを空のままにしてフォームに入力しても、コードが実行されたときに実行されるべきコードが実行されます。
私print_r($this->request->data)
またはprint_r($this->Office)
私が自分のonderwerp
フィールドがそこにあり、それが空であることを確認したとき(または何かを入力したときに入力されたとき)。
今、public function validates()
モデルに を追加し、echo
そこに何かを追加すると、それが表示されます。したがって、CakePHP はモデルの場所を認識しており、コントローラー コードを実行します。return parent::validates();
私も自分の関数を追加しようとしましvalidates()
たが、これでも検証エラーやその他のエラーは発生しませんでした。デバッグ レベルが に設定されてい2
ます。
私はこの干し草の山に針が欠けていると思います。見つけてくれてありがとう!