これは非常に奇妙です。登録フォームにテキスト入力があり、モデルで $validate 配列を設定しているときに、trim() エラーが発生します - 警告 (2): trim() はパラメーター 1 が文字列であることを期待しています、指定された配列 [CORE\Cake\View\Helper.php、754 行目]
フォーム入力
<?=$this->Form->input("lastname", array("label" => array("text" => "Last name *"), "class" => "required", "div" => array("class" => array("input text last")))); ?>
モデル検証配列
public $validate = array(
'lastname' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Last name is required'
)
)
);
そのフィールドの検証ルールを実行しているときに、div スタイリング配列 - "div" => array("class" => array("input text last")) がエラーを引き起こしているようです。回避策として、次のコードを Helper.php ファイルに追加しました。
if(is_array($options["class"])) {
$options["class"] = $options["class"][0];
}
しかし、なぜこのエラーが発生するのか知りたいです。