JQuery検証プラグインを使用してフォームを検証します(http://docs.jquery.com/Plugins/Validation/)
たとえば、フォーム内の電子メールを検証できます。
私がしたいのは、選択したユーザー名がすでに存在するかどうかを検証することです。したがって、データベースをクエリするサーバーメソッドを呼び出す必要があります。どうやってやるの ?
アップデート
バレクサンドルの答えから、私は次のことを試みます:
$.validator.addMethod("userName",
function(value, element)
{
$.get
(
"CheckUser.aspx?User=" + value,
function(data)
{
if (data == "True")
{
return false;
}
else if (data == "False")
{
return true;
}
else
{
alert(data);
}
}
);
},
"User already exists");
$(document).ready
(
function()
{
$("#aspnetForm").validate
(
{
rules:
{
<%=txtUserName.UniqueID %>:
{
required: true,
email: true,
userName: true
}
}
}
);
}
);
応答では、1 ou 0の代わりにブール値(True of False)を記述します。
検証関数が呼び出しであることを知っています。問題は、ユーザーが存在しなくても常にエラーメッセージが表示されることです。trueを返す前にアラートメッセージを入れて、到達したかどうかを確認しようとしています。だから私は理解できません、なぜそれが機能しないのですか...