ASP.NETデータ検証コントロールCustomValidatorの簡単解説
CustomValidator は、ユーザーの入力の独自確認を行う、ASP.NET の検証コントロールです。 クライアントサイドスクリプトまたはサーバーサイドコードで検証ロジックを実行し、検証結果に基づいてエラーメッセージを表示します。
CustomValidatorを使用するには、以下の手順に従ってください。
- CustomValidatorコントロールを適切な位置、例えば入力コントロールの横やフォームの下部に追加します。
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入有效的数据" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
- コントロールが検証すべき入力コントロールのIDを、ControlToValidateプロパティに指定します。たとえば、上記のコードではTextBox1というIDの入力コントロールを検証します。
- ErrorMessage属性を設定し、検証に失敗した際のエラーメッセージを指定します。
- 必要であればクライアントスクリプトで検証します(省略可)。ClientValidationFunction プロパティを設定することで、クライアントで検証ロジックを実行するクライアントスクリプト関数を指定できます。
function CustomValidator1_ClientValidate(source, arguments) {
var value = document.getElementById("<%=TextBox1.ClientID%>").value;
if (value == "") {
arguments.IsValid = false;
} else {
arguments.IsValid = true;
}
}
- サーバー側のコードを使用して検証を実行する。OnServerValidateプロパティを設定することにより、サーバー側での検証ロジックを実行するようにサーバー側検証メソッドを指定できる。
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
string value = TextBox1.Text;
if (value == "")
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
- 検証の実行が必要な場合は、Page.Validate() メソッドを呼び出して検証をトリガーします。
protected void Button1_Click(object sender, EventArgs e)
{
Page.Validate();
if (Page.IsValid)
{
// 验证通过,执行其他操作
}
}
これらの手順は、CustomValidator コントロールを使用したデータ検証の基本です。必要に応じて、他のプロパティを設定してさらに複雑な検証ロジックを実現できます。たとえば、ValidationGroup プロパティを設定して検証グループを指定したり、EnableClientScript プロパティを設定してクライアント側スクリプト検証を有効にしたりできます。