예제 #1
0
/**
 * 教室の検証
 *
 * @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;
}
예제 #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;
}
예제 #3
0
/**
 * 分類の検証
 *
 * @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;
}