/** * 教室の検証 * * @param array $queries * @param array $options * * @return array */ function validate_classes($queries, $options = array()) { $options = array('duplicate' => isset($options['duplicate']) ? $options['duplicate'] : true); $messages = array(); // コード if (isset($queries['code'])) { if (!validator_required($queries['code'])) { $messages['code'] = 'コードが入力されていません。'; } elseif (!validator_alpha_dash($queries['code'])) { $messages['code'] = 'コードは半角英数字で入力してください。'; } elseif (!validator_max_length($queries['code'], 20)) { $messages['code'] = 'コードは20文字以内で入力してください。'; } elseif ($options['duplicate'] === true) { if ($queries['id']) { $classes = db_select(array('select' => 'id', 'from' => DATABASE_PREFIX . 'classes', 'where' => array('id != :id AND code = :code', array('id' => $queries['id'], 'code' => $queries['code'])))); } else { $classes = db_select(array('select' => 'id', 'from' => DATABASE_PREFIX . 'classes', 'where' => array('code = :code', array('code' => $queries['code'])))); } if (!empty($classes)) { $messages['code'] = '入力されたコードはすでに使用されています。'; } } } // 名前 if (isset($queries['name'])) { if (!validator_required($queries['name'])) { $messages['name'] = '名前が入力されていません。'; } elseif (!validator_max_length($queries['name'], 20)) { $messages['name'] = '名前は20文字以内で入力してください。'; } } // メモ if (isset($queries['memo'])) { if (!validator_required($queries['memo'])) { } elseif (!validator_max_length($queries['memo'], 1000)) { $messages['memo'] = 'メモは1000文字以内で入力してください。'; } } // 並び順 if (isset($queries['sort'])) { if (!validator_required($queries['sort'])) { $messages['sort'] = '並び順が入力されていません。'; } elseif (!validator_numeric($queries['sort'])) { $messages['sort'] = '並び順は半角数字で入力してください。'; } elseif (!validator_max_length($queries['sort'], 5)) { $messages['sort'] = '並び順は5桁以内で入力してください。'; } } return $messages; }
/** * 名簿の検証 * * @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; }
/** * 分類の検証 * * @param array $queries * @param array $options * * @return array */ function validate_categories($queries, $options = array()) { $options = array('duplicate' => isset($options['duplicate']) ? $options['duplicate'] : true); $messages = array(); // 名前 if (isset($queries['name'])) { if (!validator_required($queries['name'])) { $messages['name'] = '名前が入力されていません。'; } elseif (!validator_max_length($queries['name'], 20)) { $messages['name'] = '名前は20文字以内で入力してください。'; } } // 並び順 if (isset($queries['sort'])) { if (!validator_required($queries['sort'])) { $messages['sort'] = '並び順が入力されていません。'; } elseif (!validator_numeric($queries['sort'])) { $messages['sort'] = '並び順は半角数字で入力してください。'; } elseif (!validator_max_length($queries['sort'], 5)) { $messages['sort'] = '並び順は5桁以内で入力してください。'; } } return $messages; }