前提・実現したいこと
CakePHP2を使っています。
バリデーションチェックの話ですが、
入力項目がA,B,Cと3つあり、3項目のうち1つでも入力値が入っていれば残りの2項目も必須チェックを行いたいのですが、
良い方法が思いつきません。
例えばですが、
・Aに値が入っており、BとCに値が入っていない場合はエラーにする。
・A,B,Cに値が入っていない場合はエラーなし。
・A,B,Cに値が入っている場合もエラーなし。
試したこと
以下のように3つの項目をチェックする関数を作りましたが、
複雑な見た目になってしまいました。
function checkThreeItems($item1, $item2, $item3) { if (!empty($item1)) { if (!empty($item2)) { if (empty($item3)) { // エラー } } else { // エラー } } else if (!empty($item2)) { if (!empty($item3)) { if (empty($item1)) { // エラー } } else { // エラー } } else if (!empty($item3)) { // エラー } }
回答2件
あなたの回答
tips
プレビュー