0

validatesメソッドはユーザー定義の配列を検証できますか?例えば:

モデル:

App::uses('AppModel', 'Model');
class Recipe extends AppModel {
    public $validate = array(
        'price' => 'numeric'
    );
}

そしてコントローラーで:

App::uses('AppController', 'Controller');
class RecipesController extends AppController {
    public function add() {
        if($this->request->is('post') && $this->request->data){
            $data = array('price' => $this->request->data['myprice']);
            $this->Reservation->validates($data); //validate the $data array
        }
        else{
            throw new NotFoundException();
        }
    }
}
4

2 に答える 2

1

手動で検証するには、次のことを試してください。

$this->Reservation->set( $data);
if($this->Reservation->validates(){
 //your code
}else{ 
    $this->validateErrors($this->Reservation);
}
于 2012-07-19T10:48:21.663 に答える
0

コントローラでは、次のようなフィールドリストを操作できます。

            if ($this->Model->validates(array(
                    'fieldList' => array(
                        'reason',
                        'name',
                        'message',
                    )
                ))) {

                }

それがあなたが探しているものであることを願っています。

于 2012-07-19T10:41:39.653 に答える