プログラミング学習記録 #4 バリデーション
バリデーション
●バリデーション:ユーザーによって入力される値が期待する値かチェックすること
・値が入力されているか
・文字列の長さ
・数値か文字列か
・数値の範囲、選択肢の値かどうか
・書式が正しいか メアド、tel など
バリデーションの基本形
①バリデーションメソッド(関数)を用意する
②メソッドの中でエラーメッセージを格納する$errors = [] などの配列を準備する
③if文などを用いてバリデーション処理を実装する
④データ登録前に判定を行う
if( count($errors) > 0 ) {
foreach( $errors as $error ){
echo $error ;
}
return;
}
if文を使って格納されたエラーメッセージが1以上ある場合エラーメッセージを表示する
※エラーがあった場合処理を止めるためにreturnを必ず書く
●バリデーション処理例
・入力値が空文字かどうか
mb_strlen関数 : 文字列の長さを図る関数、空文字の場合falseを返す
if(!mb_strlen($review['title'])) {
$errors['title'] = '書籍名を入力してください';
}
if(strlen($review['title']) > 255){
$errors[] = '書籍名は255文字以内で入力してください';
}
配列に特定の値が入っているかチェック
in_array関数を使う
if (!in_array($review['status'], ['未読', '読んでる', '読了'], true)) {
// $errors['status'] = '読書状況は「未読」「読んでる」「読了」のいずれかを入力してください';
// }