關於RequireFieldValidator控件

1、RequireFieldValidator控件是驗證相應的輸入框是不是爲空的驗證控件,但是,如果設置了ErrorMessage屬      性,一旦輸入框爲空,無論你點擊了頁面的那個位置,都會有錯誤提示,而且,Page.IsValid屬性的值只能取True,沒有辦法取得False值,好像Page.IsValid屬性的false值被前面的ErrorMessage屬性的值給屏蔽掉了一樣,如果輸入框爲空時,頁面都沒有辦法刷新,不能起作用,自己感覺這樣子用起來可能能夠達到驗證的目的,輸入錯誤時頁面不刷新,可能能夠減少服務器的負擔,但是給人的感覺非常不友好。

注:1、Page.IsValid屬性:
              獲取一個值,該值指示頁驗證是否成功
             C#
             public bool IsValid { get; }

示例代碼如下:

前臺代碼:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="NotNullValidate.aspx.cs" Inherits="_Default" %>

<!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>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Panel ID="Panel1" runat="server" Height="310px" Width="151px">
            &nbsp;<asp:TextBox ID="txtInputBox" runat="server" Width="134px"></asp:TextBox>
            <asp:RequiredFieldValidator ID="rfInputBox" runat="server" ControlToValidate="txtInputBox"></asp:RequiredFieldValidator>&nbsp;
            <asp:Button ID="btnValidate" runat="server" OnClick="btnValidate_Click" Text="測試驗證 " />
            <asp:Label ID="lblValidate" runat="server" Text="Label" Width="144px"></asp:Label></asp:Panel>
   
    </div>
    </form>
</body>
</html>

後臺代碼:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblValidate.Visible = false;
    }
    protected void btnValidate_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            lblValidate.Text = "用戶輸入驗證合法";
            lblValidate.Visible = true;
        }
        else
        {
            lblValidate.Text = "用戶輸入驗證失敗";
            lblValidate.Visible = false;
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章