- PR -

クライアントのJavaスクリプトからCustomValidatorのErrorMessageを操作する方法

1
投稿者投稿内容
とら
ベテラン
会議室デビュー日: 2006/10/04
投稿数: 54
投稿日時: 2007-08-28 16:11
VisualStudio2005、ASP.NETで開発を行っております。

フォームにコントロールを複数貼り付けて、それぞれに、同じチェックをクライアント
側でJavaScriptによって実装させたいと思っています。

以下は、そのサンプルです。
入力値が「@@」だったらエラーという仕様になっています。

□ コントロール部分
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox1"
ClientValidationFunction="ValidateTest" ErrorMessage="初期値" Display="Dynamic" ></asp:CustomValidator><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="TextBox2"
ClientValidationFunction="ValidateTest" ErrorMessage="初期値" Display="Dynamic" ></asp:CustomValidator></div>

□JavaScript部分
<script language="javascript" type="text/javascript">
<!--
function ValidateTest(source, arguments){
if(arguments.Value == "@@")
{
arguments.IsValid = false;
alert(source.id);
}

}
//-->
</script>


このように記述することによって、チェックの処理は実行されるのですが、
このままですと当然エラーメッセージは「初期値」のままになります。
JavaScript内で、source.idとすることによって、チェック対象になる
CustomValidatorのIDは認識できていますので、これを使って、対象となる
ValidaterのErrorMessageを変更したいのですが、やり方がわかりません。

何か、情報がありましたら、宜しくお願いします。




とら
ベテラン
会議室デビュー日: 2006/10/04
投稿数: 54
投稿日時: 2007-08-28 16:29
自己レスです。

以下の文で思うような動きをさせることが出来ました。
document.getElementById(source.id).firstChild.nodeValue = "新しいメッセージ";

これで、問題ないんでしょうか?
微妙に不安ですが・・・
1

スキルアップ/キャリアアップ(JOB@IT)