- PR -

JSファイルを消したら検証コントロールが・・

1
投稿者投稿内容
b.s.n
常連さん
会議室デビュー日: 2002/10/18
投稿数: 28
投稿日時: 2002-10-21 13:22
先日、DataGrid内のテキスト検証のやり方を質問した者ですが、
その少し前あたりから

/×/××/×××/WebUIValidation.js' が見つかりません。このファイルを手動で配置するか、または 'aspnet_regiis -c' を実行して再インストールしてください。

というエラーが表示されてvalidation系のコントロールが動作しません。
(×は、伏せ字と思ってください。)

以前、validation用のjsファイル内で作った覚えもないクラスが参照されていて
エラー回避できない状態に陥ったため、手動でjsファイルを消し去ったことがあるのですが
おそらくそれが原因です。
メッセージに書いてあるとおり手動でファイルを戻してみたり、aspnet_regiis.exeを
オプション指定して実行してみたり(DOS窓、VSプロンプト両方から)したのですが、
効果ありませんでした。

素直に再インストールするしかないのでしょうか??
ご存じの方、同じことやってしまったけど回避できたかたご教授のほどよろしくお願いします。
うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-10-21 16:35
うりゅうです。

Validationコントロールのプロパティの中にある、「EnableClientScript」をfalseにすればとりあえず、回避できます。

動きの違いについては僕もよく知らないのですが、僕も同じ現象になったときそうしました。
_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
b.s.n
常連さん
会議室デビュー日: 2002/10/18
投稿数: 28
投稿日時: 2002-10-21 19:11
うりゅうさんありがとうございます!
とりあえずの回避はできました。
今回のメッセージを表示する際のJAVAスクリプトのコードを読む限り
ファイルの存在だけを確認しているような感じもするのですが、
読解する気力がなくなりました。(かなりへろへろてか、メソッド理解がだるい?
ちなみにその行は、

var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if (typeof(Page_ValidationVer) == "undefined")
alert("スクリプト ライブラリ '/aspnet_client/system_web/1_0_2914_16/WebUIValidation.js' が見つかりません。
このファイルを手動で配置するか、または 'aspnet_regiis -c' を実行して再インストールしてください。");

てな感じです。(読め!ってなくらいみじかくてすいません。

実際、validationコントロールのプロパティ変更で対応はできたのですが、
この設定にすると、クライアント側でのスクリプトによるチェックができなくなる
みたいで、クライアント側で入力値などの検証を行いたい場合には、どうすれば
よいものかが考えどころです。
(このプロパティの話どっかで読んだことあるんですが・・・忘却の彼方です。)

現状、裏側でPage.IsValidのfalseチェックで処理を切り分ける方法しか
見あたらない気もしますが・・・。
一応、CustomValidatorを使うことで外部ファイル(js)を
利用しないでローカルHTML埋め込みスクリプト(vbs)でチェックさせる方法も
試したのですが、やはりclientvalidationをfalseにしてしまうことで
それすら動作しなくなるみたいです・・・。
ただの埋め込みスクリプトは動いてる・・・。(やり方が違ってるんでしょうか・・

てなことで、ほかにもこの現象を回避された方、遭遇された方引き続き
対策のご教授をお願いします。
wild cat
会議室デビュー日: 2002/08/29
投稿数: 13
投稿日時: 2002-10-21 20:40
はじめまして。

手動で消去された WebUIValidation.js ファイルの最初には
var Page_ValidationVer = "125";
という宣言があります。
ファイルが無ければ、Page_ValidationVer という変数もありませんので、
typeof(Page_ValidationVer) == "undefined"
は true となり、alert("スクリプトライブラリ....")が実行されます。

手動でjsファイルを戻してもダメだったとの事ですが、再度 WebUIValidation.js ファイルの
ファイル名、パス、内容等を確認してみてはいかがでしょうか?
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-10-22 17:47
引用:

一応、CustomValidatorを使うことで外部ファイル(js)を
利用しないでローカルHTML埋め込みスクリプト(vbs)でチェックさせる方法も
試したのですが、やはりclientvalidationをfalseにしてしまうことで
それすら動作しなくなるみたいです・・・。
ただの埋め込みスクリプトは動いてる・・・。(やり方が違ってるんでしょうか・・



WebUIValidation.js にはValidator系のコントロールで使うScriptが記述されていたりするので、falseにするとCustomValidatorも含めてすべて呼び出せなくなると思います。
それじゃあどうするっていう話ですが、Validator系のコントロールを使用するなら、なんとかセットアップするしかないでしょう。

まずは、wild catさんが書かれている通り、ファイル名とパスと内容の再確認を。
パスはバージョンが含まれていた気がするので、はまるとしたらそこかも。
(まさか手動で削除した段階で内部的なバージョン情報が削除されている、なんてことはないと思いますが)

どうしてもダメなら再インストールですかね…
wild cat
会議室デビュー日: 2002/08/29
投稿数: 13
投稿日時: 2002-10-22 18:48
ちょっと気になるのですが、b.s.nさんの書き込みによると、WebUIValidation.jsファイルの場所は
/aspnet_client/system_web/1_0_2914_16/
となっていて、1_0_2914_16 は.NET Framework のバージョンになると思いますが、
私の環境では、1_0_3705_288です(SP2適用済み)。
1_0_2914_16 というのはベータ2ではないかと思いますが、いかがでしょうか?
もし、お使いの.NET Framework のバージョンがベータ2であれば、私の書き込みは正しくないかもしれません。
もし、全く的外れな事を言っていましたら、申し訳ありません。
b.s.n
常連さん
会議室デビュー日: 2002/10/18
投稿数: 28
投稿日時: 2002-10-22 19:22
wild catさんのご指摘の通り、今インストールされているのは訳あって
β2です。
enterpriseDEVのCDは、会社におきっぱにしていたため出向先で
いかに再インストールをしないですますかという問題にぶつかっていたので
今回のような質問になりました。

ちなみにβ2では、ご指摘の値125は、セットされていません。
121です。
よって、この値を無理やり125に変更してやっても参照しにいくスクリプトの
ヴァージョンが違います!みたいな認識がされてしまいます。

そして、また、121に値を戻すわけですが・・・。

!!!
すると!
な、なんと直りました!!

やっぱ、どっかにヴァージョン変数の値を保持してたんでしょうか!?

ってことで、wild catさん、daikiryutoさんありがとうございました。
かなり強引な気もしますが、変数をどっかに保持されているときの常套手段とも
いえる今回の改竄方法で問題は解決しました!

って・・・、今日会社から製品版.netが届いたんですけど・・・。(T一T;

いや、でもこれで数時間も再インストールに時間をとらずにすみます。
ありがとうございました。
1

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