Cấp bậc tác giả:

DOTNET

Sử dụng Validation Group

Được viết bởi QuangIT ngày 23/11/2012 lúc 10:30 AM
Tưởng tượng rằng bạn muốn tao 1 webpage mà có cả chức năng login lẫn chức năng tạo mới user. Phần Login sẽ được hiển thị bên cột tay trái, chức năng tạo mới user sẽ được hiển thị bên cột tay phải.
  • 0
  • 1779

Sử dụng Validation Group


Tưởng tượng rằng bạn muốn tao 1 webpage mà có cả chức năng login lẫn chức năng tạo mới user. Phần Login sẽ được hiển thị bên cột tay trái, chức năng tạo mới user sẽ được hiển thị bên cột tay phải. Nếu cả 2 phần này đều sử dụng Validator để kiểm tra lỗi. Do đó, việc submit dữ liệu bên phần Login sẽ dẫ đến các Validator bên phần tạo mới user kích hoạt, do đó sẽ sinh ra lỗi nhập liệu từ user, kết quả là bạn không thể login được.

Từ version ASP.NET 2.0 xuất hiện, bạn sẽ không còn bị giới hạn trên nữa. ASP.NET đã cung cấp ý tưởng mới về Validation Group, tức là bạn có thể nhóm các Validator có liên quan với nhau lại thành từng nhóm. Trong ví dụ sau, web page của bạn có chứa cả phần Login và phần đăng ký mới user và những Validator để kiểm tra lỗi nhập liệu.

 

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

<head id="Head1" runat="server">

    <style type="text/css">

        html

        {

            background-color:silver;

        }

        .column

        {

            float:left;

            width:300px;

            margin-left:10px;

            background-color:white;

            border:solid 1px black;

            padding:10px;

        }

   

    </style>

    <title>Show Validation Groups</title>

</head>

<body>

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

   

    <div class="column">

    <fieldset>

    <legend>Login</legend>

    <p>

    Please log in to our Website.

    </p>

    <asp:Label

        id="lblUserName"

        Text="User Name:"

        AssociatedControlID="txtUserName"

        Runat="server" />

    <br />   

    <asp:TextBox

        id="txtUserName"

        Runat="server" />

    <asp:RequiredFieldValidator

        id="reqUserName"

        ControlToValidate="txtUserName"

        Text="(Required)"

        ValidationGroup="LoginGroup"

        Runat="server" />

    <br /><br />

    <asp:Label

        id="lblPassword"

        Text="Password:"

        AssociatedControlID="txtPassword"

        Runat="server" />

    <br />   

    <asp:TextBox

        id="txtPassword"

        TextMode="Password"

        Runat="server" />

    <asp:RequiredFieldValidator

        id="reqPassword"

        ControlToValidate="txtPassword"

        Text="(Required)"

        ValidationGroup="LoginGroup"

        Runat="server" />

    <br /><br />

    <asp:Button

        id="btnLogin"

        Text="Login"

        ValidationGroup="LoginGroup"

        Runat="server" OnClick="btnLogin_Click" />

    </fieldset>

 

    <asp:Label

        id="lblLoginResult"

        Runat="server" />

 

    </div>

 

    <div class="column">

    <fieldset>

    <legend>Register</legend>

    <p>

    If you do not have a User Name, please

    register at our Website.

    </p>

    <asp:Label

        id="lblFirstName"

        Text="First Name:"

        AssociatedControlID="txtFirstName"

        Runat="server" />

    <br />   

    <asp:TextBox

        id="txtFirstName"

        Runat="server" />

    <asp:RequiredFieldValidator

        id="reqFirstName"

        ControlToValidate="txtFirstName"

        Text="(Required)"

        ValidationGroup="RegisterGroup"

        Runat="server" />

    <br /><br />

    <asp:Label

        id="lblLastName"

        Text="Last Name:"

        AssociatedControlID="txtLastName"

        Runat="server" />

    <br />   

    <asp:TextBox

        id="txtLastName"

        Runat="server" />

    <asp:RequiredFieldValidator

        id="reqLastName"

        ControlToValidate="txtLastName"

        Text="(Required)"

        ValidationGroup="RegisterGroup"

        Runat="server" />

    <br /><br />

    <asp:Button

        id="btnRegister"

        Text="Register"

        ValidationGroup="RegisterGroup"

        Runat="server" OnClick="btnRegister_Click" />

    </fieldset>

   

    <asp:Label

        id="lblRegisterResult"

        Runat="server" />

       

    </div>

   

    </form>

</body>

</html>

 

protected void btnRegister_Click(object sender, EventArgs e)

{

        if (Page.IsValid)

            lblRegisterResult.Text = "Registration successful!";

}

    protected void btnLogin_Click(object sender, EventArgs e)

{

        if (Page.IsValid)

            lblLoginResult.Text = "Log in successful!";

}

 

Tất cả các Validator và Button đều có thuộc tính ValidationGroup. Những control nào nằm trong phần login sẽ được thiết lập giá trị “LoginGroup” cho thuộc tính ValidationGroup. Những control trong phần đăng ký mới user sẽ được thiết lập giá trị “RegisterGroup” cho thuộc tính ValidationGroup.

Bởi vì những control này được chia thành 2 nhóm khác nhau, bạn có thể submit 1 nhóm này hoàn toàn độc lập nhau. Submit dữ liệu từ phần Login sẽ không kích hoạt những Validation control trong phần đăng ký mới user.

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML