0

メール/ユーザー名がコントローラーから一意であるかどうかを確認したい。isUniqueのモデル検証を作成しましたが、機能します。しかし、コントローラーで使用する方法も必要です。何かのようなもの

$this->User->validates(array('email'=>'someemail@domain.com'));

また

$this->User->checkunique();
//is this the right way to write a different function again.

コントローラからfindByEmailを使用して、空の結果セットが返されるかどうかを確認できることはわかっています。しかし、私は、cakephpが提供するより単純なアプローチまたはすでに利用可能な方法があると感じています。私が間違っている場合は訂正してください。この文脈での正しいアプローチを指摘させてください。

ありがとう、キラン

4

1 に答える 1

1

クックブックはもう見ましたか?それを行う方法についての良い説明があります:

http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html

要約すると。まず、検証するデータを設定します。

$this->User->set($data);

次に、それを検証し、フィールドのリストを渡して、必要に応じて検証を制限します。

$this->User->validates(array('fieldList' => array('email')));

これをカスタムモデルメソッドでラップするかどうかは完全にあなた次第ですが、DRYの観点からはそうすることをお勧めします。

于 2012-12-17T07:34:31.620 に答える