複数の aspx ページに対する共通のカスタム サーバー側検証関数

swap000

ファーストネーム、ラストネーム、アドレスなどのユーザー入力を受け取る同じフォームコントロールを持つ複数の aspx ページがあります。

これらのフィールドには、すでに必須、正規表現、および長さベースのクライアント側の検証が含まれています。次に、一般的な検証を実行するカスタム バリデーターをこれらのページに追加する必要があります。しかし、数百のページがあるため、すべてのページを編集するつもりはありません。私は、aspx ページにカスタム検証タグを追加することと、aspx ページのカスタム検証タグに割り当てることができる一般的なサーバー側検証関数を検討しているだけで、労力を節約できます。

これらのページは非常に古いため、フォームをユーザー コントロールに変更できません。また、各ページのCSSが異なるためです。

複数の aspx ページからアクセスできる共通のサーバー側バリデーター関数を作成することは可能ですか?

ヴァルン・メタ

このように CustomValidator クラスを拡張することで、独自のバリデーターを作成できます。

namespace CustomValidation
{
    public class MyValidator : CustomValidator
    {
        protected override bool OnServerValidate(string value)
        {
            bool baseresult = base.OnServerValidate(value);
            if (baseresult && value == "TestValue")
                return true;

            return false;
        }

        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            base.AddAttributesToRender(writer);
        }

        protected override bool ControlPropertiesValid()
        {
            return base.ControlPropertiesValid();
        }

        protected override bool EvaluateIsValid()
        {
            return base.EvaluateIsValid();
        }
    }
}

そして、aspx ページにコントロールを追加するだけです -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<%@ Register TagPrefix="mytag" Namespace="CustomValidation" Assembly="WebApplication1"%>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <mytag:MyValidator ErrorMessage="Testing" ControlToValidate="txtBox" runat="server" />
            <asp:TextBox runat="server" ID="txtBox"></asp:TextBox>
            <asp:Button Text="Test Button" runat="server" ID="btnTest" OnClick="btnTest_Click" />
        </div>
    </form>
</body>
</html>

OnServerValidate は Page.IsValid で呼び出されます

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnTest_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {

            }
        }
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じaspxページで複数のGridViewを取得する方法

分類Dev

Angularの複数のフィールドに対するサーバー側の検証

分類Dev

IFRameのCRM2011カスタムAspxページ

分類Dev

aspxページでaspxユーザーコントロールの複数のインスタンスを使用する

分類Dev

`.aspx`サイトから複数のページに表示されるスクレイピング結果

分類Dev

複数ページ(aspx)テーブルのスクレイピングと解析

分類Dev

PrimefacesinputMaskサーバー側の検証

分類Dev

graphqlサーバー側の検証

分類Dev

Kubernetesyamlのサーバー側検証

分類Dev

AngularJsサーバー側の検証

分類Dev

サーバー側の検証例?/ Java

分類Dev

サーバー側の検証を検証する

分類Dev

複数の値に対するカスタム.NETConfigurationSection検証

分類Dev

aspxページに動的メタタグを追加するためのより良い方法はどれですか?jquery、ajax、javascript、またはpageLoad(サーバー側)?

分類Dev

共通のマスターシートに対するGoogleの複数フォームの応答

分類Dev

aspxページにPOSTリクエストを送信するための500(内部サーバーエラー)

分類Dev

コメントのデータをaspxページに渡す

分類Dev

Eval()関数を使用してデータセットの結果をASPXページにバインドする方法

分類Dev

PHP:サーバー側のラジオボタンの検証

分類Dev

Firebase-サーバー側関数onUpdate()

分類Dev

同じ名前の複数のフィールドに対するLaravelカスタム検証メッセージ

分類Dev

サーバー側の関数に$ _POST変数を渡す

分類Dev

タブ内の複数のテーブルにカスタムページャーを適用する

分類Dev

Javascript変数をC#関数aspxに渡し、そこからaspxページに戻る

分類Dev

Pythonからの出力をaspxページに表示する

分類Dev

JSPとサーブレットのサーバー側検証

分類Dev

AngularJS postjsonデータ+ codeigniterでのサーバー側の検証

分類Dev

aspxページの背後にあるコードのマスターページからユーザーコントロールにアクセスする

分類Dev

同じページに複数のフォーム/検証を設定する

Related 関連記事

  1. 1

    同じaspxページで複数のGridViewを取得する方法

  2. 2

    Angularの複数のフィールドに対するサーバー側の検証

  3. 3

    IFRameのCRM2011カスタムAspxページ

  4. 4

    aspxページでaspxユーザーコントロールの複数のインスタンスを使用する

  5. 5

    `.aspx`サイトから複数のページに表示されるスクレイピング結果

  6. 6

    複数ページ(aspx)テーブルのスクレイピングと解析

  7. 7

    PrimefacesinputMaskサーバー側の検証

  8. 8

    graphqlサーバー側の検証

  9. 9

    Kubernetesyamlのサーバー側検証

  10. 10

    AngularJsサーバー側の検証

  11. 11

    サーバー側の検証例?/ Java

  12. 12

    サーバー側の検証を検証する

  13. 13

    複数の値に対するカスタム.NETConfigurationSection検証

  14. 14

    aspxページに動的メタタグを追加するためのより良い方法はどれですか?jquery、ajax、javascript、またはpageLoad(サーバー側)?

  15. 15

    共通のマスターシートに対するGoogleの複数フォームの応答

  16. 16

    aspxページにPOSTリクエストを送信するための500(内部サーバーエラー)

  17. 17

    コメントのデータをaspxページに渡す

  18. 18

    Eval()関数を使用してデータセットの結果をASPXページにバインドする方法

  19. 19

    PHP:サーバー側のラジオボタンの検証

  20. 20

    Firebase-サーバー側関数onUpdate()

  21. 21

    同じ名前の複数のフィールドに対するLaravelカスタム検証メッセージ

  22. 22

    サーバー側の関数に$ _POST変数を渡す

  23. 23

    タブ内の複数のテーブルにカスタムページャーを適用する

  24. 24

    Javascript変数をC#関数aspxに渡し、そこからaspxページに戻る

  25. 25

    Pythonからの出力をaspxページに表示する

  26. 26

    JSPとサーブレットのサーバー側検証

  27. 27

    AngularJS postjsonデータ+ codeigniterでのサーバー側の検証

  28. 28

    aspxページの背後にあるコードのマスターページからユーザーコントロールにアクセスする

  29. 29

    同じページに複数のフォーム/検証を設定する

ホットタグ

アーカイブ