.Net Project/ASP.NET 3.5 Sp1
30장 ASP.NET Validation Control (FrmCustom Validator)
Magic_kit
2009. 10. 13. 11:17
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmCustomValidator.aspx.cs"
Inherits="FrmCustomValidator" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
function ClientValidate(sender, args) {
if (args.Value.length < 3 || args.Value.length > 12) {
args.IsValid = false;
}
else {
args.IsValid = true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
아이디 :
<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox><br />
<asp:Button ID="btnOK" runat="server" Text="확인" />
<br />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="txtUserID"
ClientValidationFunction="ClientValidate"
ErrorMessage="아이디는 3자이상 12자 이하"
onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
</div>
</form>
</body>
</html> |
1. 아이디 : 텍스트 박스
확인 버튼 --> 클릭시 CustomValidator 컨트롤 사용
2. CustomValidator컨트롤 속성 지정
ControlToValidate="txtUserID" ErrorMessage="에러"
ClientValidationFunction=" ClientValidate();" 생성후 호출 하면..
-- ClientValidate 사용하여 바로 자바스크립에서 실행 가능
-- 서버컨트롤 사용가능한것은 최대한 자바 스크립으로 사용 할 수 있도록 한다.
function ClientValidate(sender, args)
{
if(args.Values.length < 3 || args.Values.length > 12)
{
args.IsValid = false ;
}
else {
args.IsValid = true;
}
} |
3. 디자인모드에서 CustomValidator컨트롤 --> 속성 -> 이벤트에서 ServerValidata 이벤트 생성
using System;
using System.Web.UI.WebControls;
public partial class FrmCustomValidator : System.Web.UI.Page
{
protected void CustomValidator1_ServerValidate
(object source, ServerValidateEventArgs args)
{
string userId = args.Value; // 지정된 텍스트박스의 값을 받아서.
if (userId.Length < 3 || userId.Length > 12)
{
args.IsValid = false; // 에러
}
else
{
args.IsValid = true; // 유효성 통과
}
}
} |