첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.

728x90
반응형
728x170

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>

 

728x90

 

▶ 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
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요