예제 #1
0
/**
 * 日時の検証
 *
 * @param string $data
 *
 * @return bool
 */
function validator_datetime($data)
{
    list($date, $time) = explode(' ', $data);
    if (!validator_date($date) || !validator_time($time)) {
        return false;
    } else {
        return true;
    }
}
예제 #2
0
/**
 * 名簿の検証
 *
 * @param array $queries
 * @param array $options
 *
 * @return array
 */
function validate_members($queries, $options = array())
{
    $messages = array();
    // クラス
    if (isset($queries['class_id'])) {
        if (!validator_required($queries['class_id'])) {
            $messages['class_id'] = 'クラスが入力されていません。';
        }
    }
    // 名前
    if (isset($queries['name'])) {
        if (!validator_required($queries['name'])) {
            $messages['name'] = '名前が入力されていません。';
        } elseif (!validator_max_length($queries['name'], 20)) {
            $messages['name'] = '名前は20文字以内で入力してください。';
        }
    }
    // 名前(フリガナ)
    if (isset($queries['name_kana'])) {
        if (!validator_required($queries['name_kana'])) {
            $messages['name_kana'] = '名前(フリガナ)が入力されていません。';
        } elseif (!validator_katakana($queries['name_kana'])) {
            $messages['name_kana'] = '名前(フリガナ)は全角カタカナで入力してください。';
        } elseif (!validator_max_length($queries['name_kana'], 20)) {
            $messages['name_kana'] = '名前(フリガナ)は20文字以内で入力してください。';
        }
    }
    // 成績
    if (isset($queries['grade'])) {
        if (!validator_required($queries['grade'])) {
            $messages['grade'] = '成績が入力されていません。';
        } elseif (!validator_numeric($queries['grade'])) {
            $messages['grade'] = '成績は半角数字で入力してください。';
        } elseif (!validator_max_length($queries['grade'], 3)) {
            $messages['grade'] = '成績は3桁以内で入力してください。';
        }
    }
    // 生年月日
    if (isset($queries['birthday'])) {
        if (!validator_required($queries['birthday'])) {
        } elseif (!validator_date($queries['birthday'])) {
            $messages['birthday'] = '生年月日の値が不正です。';
        }
    }
    // メールアドレス
    if (isset($queries['email'])) {
        if (!validator_required($queries['email'])) {
        } elseif (!validator_email($queries['email'])) {
            $messages['email'] = 'メールアドレスの入力内容が正しくありません。';
        }
    }
    // 電話番号
    if (isset($queries['tel'])) {
        if (!validator_required($queries['tel'])) {
        } elseif (!validator_regexp($queries['tel'], '^\\d+-\\d+-\\d+$')) {
            $messages['tel'] = '電話番号の書式が不正です。';
        } elseif (!validator_max_length($queries['tel'], 20)) {
            $messages['tel'] = '電話番号は20文字以内で入力してください。';
        }
    }
    // メモ
    if (isset($queries['memo'])) {
        if (!validator_required($queries['memo'])) {
        } elseif (!validator_max_length($queries['memo'], 1000)) {
            $messages['memo'] = 'メモは1000文字以内で入力してください。';
        }
    }
    // 公開
    if (isset($queries['public'])) {
        if (!validator_boolean($queries['public'])) {
            $messages['public'] = '公開の書式が不正です。';
        }
    }
    /*
        // 分類
        if (isset($queries['category_sets'])) {
            if (empty($queries['category_sets'])) {
                $messages['category_sets'] = '分類が入力されていません。';
            }
        }
    */
    return $messages;
}