Yiiでは、ユーザーがフォームを送信した後の流れを コントローラのアクションで受け取り → モデルの検証 → 処理実行 という形で実装します。
フォームに対応するモデルを用意し、アクションの冒頭でインスタンス化します。
$model = new ContactForm();
if(isset($_POST['ContactForm'])) {
$model->attributes = $_POST['ContactForm'];
}
こうすることで、送信された値がモデルの属性に一括で入ります。
if($model->validate()) {
// 検証成功
} else {
// エラー
}
Yiiはモデルに定義した rules() に基づいて検証を行います。
検証に成功したら、本処理(メール送信・DB保存など)を行います。
if($model->validate()) {
// 実処理
return;
}