目次
PHPの記述内容
バリデーション関数の雛形
function validate($value)
{
$errors = [];
//バリデーションの条件式を記載、複数ある場合はelseifで連続入力
return $errors;
}
input type=”text”に関する条件式
未入力エラー:strlen関数(公式ドキュメント)
if (!strlen($value[$key])) {
$errors[$key] = '必須入力です';
}
文字数制限:strlen関数
if (strlen($value[$key]) > 100) {
$errors['founder'] = '100文字以内で入力して下さい';
}
input type=”date”に関する条件式
YYYY-MM-DD以外の入力形式をチェック
・年、月、日を分割:explode関数(公式ドキュメント)
・分割された配列数をチェック:count関数(公式ドキュメント)
$dates = explode('-', $value[$key]);
if (count($dates) !== 3) {
$errors[$key] = '正しい形式で入力して下さい';
}
正しい日付かチェック
・年、月、日を分割:explode関数
・時刻の妥当性を確認:checkdate関数(公式ドキュメント)
$dates = explode('-', $value[$key]);
if (!checkdate($dates[1], $dates[2], $dates[0])) {
$errors[$key] = '正しい日付で入力して下さい';
}
//[0]:YYYY,[1]:MM,[2]:DD
HTMLへの表示
リスト表示
count関数を使用して、エラーがあった場合のみリスト表示する
<?php if (count($errors)) : ?>
<ul>
<?php foreach ($errors as $error) : ?>
<li><?php echo $error; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
コメント