- PR -

CompareValidatorコントロールが反応しません

1
投稿者投稿内容
serious
常連さん
会議室デビュー日: 2001/08/22
投稿数: 31
投稿日時: 2003-11-20 20:20
ASP.NETの質問です。
JavaScriptからテキストボックスに値を入力した場合
CompareValidatorコントロールが反応しません。
どうすればよいでしょうか?
よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-21 11:16
 どう反応しませんか?このコントロールはポストバックしたときに、ロードイベントの前にバリデートイベントが発生し、そのイベントハンドラで検証されます。

 クライアントサイドで検証しているなら、フォーカスが離れたイベントを発生させてやる必要があると思います。
serious
常連さん
会議室デビュー日: 2001/08/22
投稿数: 31
投稿日時: 2003-11-21 18:00
>クライアントサイドで検証しているなら、
>フォーカスが離れたイベントを発生させてやる必要があると思います。
・・・ということで
間違った型によりエラーが表示されている状態で
obj.focus()
obj.value = "正しい型の値";
obj.blur()
とやっても、エラーメッセージが消えません。
(手入力で正しい型の値を入力すると消えます。)
ちなみにクライアントサイドのチェックです。
現在は、JavaScriptで型チェックをするようにしました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-22 18:54
それは、ページが表示されたときにソースを見て確認してください。もしかしたら、ポストするときに検証関数をコールしているかもしれません。検証関数は開発者が用意しますから、何らかのアクションでコールしてやればいいのでは?
serious
常連さん
会議室デビュー日: 2001/08/22
投稿数: 31
投稿日時: 2003-11-25 10:03
>ページが表示されたときにソースを見て確認してください。
確認したところ"onsubmit()"に"ValidatorOnSubmit()"という関数がありました。
これをテキストボックスのonBlur()で呼んでみてもダメでした。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-25 11:45
引用:

seriousさんの書き込み (2003-11-25 10:03) より:

確認したところ"onsubmit()"に"ValidatorOnSubmit()"という関数がありました。
これをテキストボックスのonBlur()で呼んでみてもダメでした。


 確認しますが、検証コントロールのプロパティを、「クライアント検証」にしていますか?
(詳しいプロパティは今調べられないので、調べてください)

 私が、テキストボックスに「HTMLの要素と間違えられそうな入力を許可」するために調べたときには、クライアント側で検証するためには、クライアント側コードを自分で実装しなければならなかったのですが、seriousさんのこの書き方では、フレームワーク(か、何か)が自動で用意するメソッドをコールしようとしているように思います。もしそうなら、実際には検証しないメソッドだと思うのですが。。。
Ru.F
会議室デビュー日: 2003/11/21
投稿数: 17
投稿日時: 2003-11-25 11:56
こんにちは、Ru.Fと申します。

解決済みであれば良いのですが。

function myFunc() {
TextBox1.value="test";
if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();
}

Page_ClientValidate()という処理は、HTMLソース冒頭付近にある
以下の"WebUIValidation.js"に記述されています。

<script language="javascript" src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script>
serious
常連さん
会議室デビュー日: 2001/08/22
投稿数: 31
投稿日時: 2003-11-25 18:09
Page_ClientValidate()でOKでした。
Jittaさん、Ru.Fさんありがとうございました。
1

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