する質問をすることでしか得られない、回答やアドバイスがある。119PHPでバリデーションを共通化してまとめたいです。"名前を入力してください。"メールアドレスを入力してください。"パスワードを入力してください。"電話番号を入力してください。"都道府県を選択してください。"パスワードは8文字以上で入力してください。"電話番号は10文字か11文字で入力してください。"電話番号は10文字か11文字で入力してください。"メールアドレスに間違いがあります。"電話番号はハイフンなしで入力してください。"電話番号は半角数字で入力してください。}下記のようにまとめてみました。まとめたやつはrequire_once('./validation.php');name_validation();みたいに使っていこうと思っています。"名前を入力してください。"メールアドレスを入力してください。"パスワードを入力してください。"電話番号を入力してください。"都道府県を選択してください。"パスワードは8文字以上で入力してください。"電話番号は10文字か11文字で入力してください。"電話番号は10文字か11文字で入力してください。"メールアドレスに間違いがあります。"電話番号はハイフンなしで入力してください。"電話番号は半角数字で入力してください。$info["name"].'を入力してください。$info["name"].'は'.$rule_setting.'文字以内で入力してください。上の確認フォームからエラーメッセージをリダイレクトで受け取っています。}}attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順link+3個別にしすぎているので汎用性が低く、今の状態でも「まとめた」とは言えません。空のバリデーションは1つにできますし、最大文字数もまとめられます。電話番号チェックなどはわけるのではなく1つにできそうです。それぞれのコントロールに対してバリデーションルールをつけてそのルールに基づいてチェックしてはどうでしょうか。あとはルールを追加していけばいいだけなので、入力項目個別に作るよりは様々な用途に使えて、メソッド追加も最小限に済むと思います。いうわけで、私ならクラス化します。※ざっと作ったので動作検証ほとんどできてませんが・・・。$info["name"].'を入力してください。$info["name"].'は'.$rule_setting.'文字以内で入力してください。・・・以下、バリデーションチェック処理を追加}パスワードとかは入力必須ではないということはないと思いますので、そういう場合は「パスワードチェック」に空かどうかも含ませるというのもありです。エラーメッセージなども設定で持ってそこから取得するようにすればswitchすらも不要にできる可能性があります(そこは発想とやり方次第ですね)いずれにしてもバリデーションルールが増えればメソッドも増えます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。そこは用途によりですね。複合チェックもあるので、そこはパターン増やすということで。そこは用途によりですね。複合チェックもあるので、そこはパターン増やすということで。PHPマニュアルを検索してみると分かりますが、ありません。自身でチェック用の関数を作っています。Validationクラス内にありますよね。empty_check()いいえ。PHPマニュアルを検索してみると分かりますが、ありません。自身でチェック用の関数を作っています。Validationクラス内にありますよね。18:23ありがとうございます!実際に、上記の方法で検証してみたのですが質問欄の一番下に貼ったバグが発生してしまいました。質問欄の一番下に貼ったバグが発生してしまいました。20:02ソースコードをご提示ください。エラーメッセージだけではわかりません。ソースコードをご提示ください。エラーメッセージだけではわかりません。編集エラーメッセージそのまま調べてもらえればわかりますが、オブジェクト(今回はValidation)の扱いがどこかで間違っているのではと思いますが。何かでint型にしようとしているような記述があるのではないでしょうか。エラーメッセージそのまま調べてもらえればわかりますが、オブジェクト(今回はValidation)の扱いがどこかで間違っているのではと思いますが。何かでint型にしようとしているような記述があるのではないでしょうか。09:52質問欄の画像の下にコードを追記いたしました。質問欄の画像の下にコードを追記いたしました。キャンセル完了するlinkcheckベストアンサー+2私なら、どっかのフレームワークからコード持ってきます。フレームワークなら、このあたりの実装はしっかりねられているので。特殊なチェックはコールバック関数で渡す感じの実装しとけば、大体対応できると思います。「共通化してまとめたい」って質問ですが、「もう少し見通しを良くする」って方向でコード書くと、自然と共通化されます。読みやすいコードを書くように意識すると良いですよ。評価が高い回答ほどページの上位に表示されます。remove低評価1回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。解決済PHPでチェックボックスのデータを受け取れません解決済PHPのPDOで新規登録画面から登録すると配列だけMysqlに登録できません。解決済PHPでフォームでエラーメッセージが出た時にデータがそのまま残るようにしたい解決済PHPのログイン機能を作成していますが、ログインできません。解決済PHPのトランザクションエラーの原因がわかりません。1Mysqlのdatetime型が登録した時間になりません。頂いたご意見への回答は行っておりません。