036536 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

日常生活の何か

PR

プロフィール


スケ3

フリーページ

2007年08月18日
XML
カテゴリ:その他

    protected void Button1_Click(object sender, EventArgs e)
    {
        // Validatorチェック
        // 引数(エラーメッセージを格納するラベル, 対象ページ, 検証したいWebControl(数はいくつでも) )
        // 入力エラーが存在する場合、処理を抜ける
        if (!IsFormatCheck(Label1, Page, TextBox1, TextBox2))
        {
            return;
        }
    }

    // Validatorチェック
    // 引数(Label型, ページ型, 可変長のControl型)
    protected bool IsFormatCheck(Label LabelMessage, Page page, params Control[] CheckControls)
    {
        // 文字結合Appendを使用するための、StringBuilder型 ErrorMessage
        System.Text.StringBuilder ErrorMessage = new System.Text.StringBuilder();

        // ページに配置されているValidatorControlの数だけ検証
        foreach (BaseValidator CheckValidator in page.Validators)
        {
            // Controlをチェックし、エラーメッセージを保存
            foreach (Control SelectedControl in CheckControls)
            {
                ErrorCheck(ErrorMessage, CheckValidator, SelectedControl);
            }
        }
        // ラベルに、溜め込んだエラーメッセージ群を格納
        LabelMessage.Text = ErrorMessage.ToString();

        // 結果、エラーが存在しない場合、エラー格納ラベルを非表示にし、trueを返す
        // そうでない場合、エラー格納ラベルを表示し、falseを返す
        if ("".Equals(LabelMessage.Text))
        {
            LabelMessage.Visible = false;
            // trueを返す(エラーなし)
            return true;
        }
        else
        {
            LabelMessage.Visible = true;
            // falseを返す(エラーあり)
            return false;
        }
    }

    // 渡されたValidatorとControlを元に検証
    protected void ErrorCheck(System.Text.StringBuilder ErrorMessage, BaseValidator Validator, Control Control)
    {
        // ControlのIDとValidate対象が一致しており、かつ検証結果がエラーの場合
        if (Control.ID.Equals(Validator.ControlToValidate) && !Validator.IsValid)
        {
            // エラーメッセージがすでに格納されている場合
            if (!"".Equals(ErrorMessage.ToString()))
            {
                // 改行を挿入
                ErrorMessage.Append("<br>");
            }
            // エラーメッセージを追加
            ErrorMessage.Append(Validator.ErrorMessage);
        }
    }






最終更新日  2007年08月18日 11時36分40秒
コメント(3) | コメントを書く

カレンダー

コメント新着

どぴゅ@ みんなホントにオナ鑑だけなの? 相互オナって約束だったけど、いざとなる…
携帯ブログランキング@ 携帯ブログランキング はじめまして、ブログの内容を見てとても…
べきお@ Re:C#メモ(08/18) おー。休日も調べるとは素晴らしい。 ち…
きりしま@ Re:会社説明会 新卒は運用屋が基本らしいですね。 私は中…
iwa@ Re:Wiiフィーバー(12/04) うちの近くで10台限定ででるらしい。 行…

Copyright (c) 1997-2019 Rakuten, Inc. All Rights Reserved.