첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ CustomValidator 클래스 : 항목을 1개 이상 체크하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


MainPage.aspx

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainPage.aspx.cs" Inherits="TestProject.MainPage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <title>CustomValidator 클래스 : 항목을 1개 이상 체크하기</title>

        <script type="text/javascript">

            function CheckValue(sender, e)

            {

                var checkBoxList = 'favoriteCheckBoxList';

 

                var options = document.getElementById(checkBoxList).getElementsByTagName('input');

 

                var ischecked = false;

 

                e.IsValid = false;

 

                for(i = 0; i < options.length; i++)

                {

                    var option = options[i];

 

                    if(option.type == "checkbox")

                    {

                        if(option.checked)

                        {

                            ischecked = true;

 

                            e.IsValid = true;

                        }

                    }

                }

            }

        </script>

    </head>

    <body>

        <form id="form" runat="server">

            <div>

                <asp:CheckBoxList ID="favoriteCheckBoxList" runat="server"

                    ValidationGroup="CheckGroup">

                    <asp:ListItem Value="0">ASP.NET</asp:ListItem>

                    <asp:ListItem Value="1">Bootstrap</asp:ListItem>

                    <asp:ListItem Value="2">C#</asp:ListItem>

                    <asp:ListItem Value="3">Dapper</asp:ListItem>

                </asp:CheckBoxList>

                <asp:CustomValidator ID="favoriteCustomValidator" runat="server"

                    ErrorMessage="반드시 하나 이상을 체크하세요."

                    ClientValidationFunction="CheckValue"

                    ValidationGroup="CheckGroup"

                    Display="None" />

                <asp:ValidationSummary runat="server"

                    DisplayMode="List"

                    ShowSummary="false"

                    ShowMessageBox="true"

                    ValidationGroup="CheckGroup" />

                <asp:Button ID="submitButton" runat="server"

                    ValidationGroup="CheckGroup"

                    Text="제출" />

            </div>

        </form>

    </body>

</html>

 

 

MainPage.aspx.cs

 

 

using System;

using System.Web.UI;

 

namespace TestProject

{

    /// <summary>

    /// 메인 페이지

    /// </summary>

    public partial class MainPage : Page

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Protected

 

        #region 페이지 로드시 처리하기 - Page_Load(sender, e)

 

        /// <summary>

        /// 페이지 로드시 처리하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        protected void Page_Load(object sender, EventArgs e)

        {

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요