- PR -

[ASP.NET] Validatorで「エラー: ';' がありません。」

投稿者投稿内容
ひろ
会議室デビュー日: 2004/11/29
投稿数: 13
投稿日時: 2005-05-30 16:21
アドバイスを頂きたく投稿致します。

<ASP:REGULAREXPRESSIONVALIDATOR>を用いて入力チェックを設定したページをブラウザで開いたところ、JavaScriptで「';'がありません。」といった内容のエラーが発生します。

必ず発生するわけでなく、特定のディレクトリ以下の.aspxファイルのみ発生しております。
ソースを開くで確認してみましたが、とくに";"が不足している部位は確認できませんでした。

同様の現象に遭遇された方はいらっしゃいますでしょうか?

[環境]
 サーバー
 ASP.NET、Windows2000Server

 クライアント
 XP IE6.0

[ メッセージ編集済み 編集者: ひろ 編集日時 2005-05-30 16:25 ]
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-05-30 18:58
VS.NETが入っている環境であれば、IEのインターネットオプションの詳細設定で
「スクリプトのデバックを使用しない」をoffにして、該当ページをIEで表示してみれば、何処でエラーになっているか分かるでしょう。
ひろ
会議室デビュー日: 2004/11/29
投稿数: 13
投稿日時: 2005-05-30 20:29
>「スクリプトのデバックを使用しない」をoffにして
原因特定できずです。

<ASP:REGULAREXPRESSIONVALIDATOR>を書くことによって自動生成されるJavaScriptがエラーを発生させているように思うのですが、ファイルによってエラー発生の有無があるのが???です。

う〜ん、、、
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-05-30 20:38
todo氏がおっしゃっているのは、その「自動生成されるJavaScript」を調べて
エラー原因を特定しようってことでしょう。どのようなJavaScriptが生成されていますか?
ひろ
会議室デビュー日: 2004/11/29
投稿数: 13
投稿日時: 2005-05-30 21:19
自動生成されたスクリプトを抜き出しました。
もうちょっと掘り下げてみます。


********* NG *********
<form name="Form1" method="post" action="update_co.aspx" language="javascript" onsubmit="if (!ValidatorOnSubmit()) return false;" id="Form1">

<script language="javascript" type="text/javascript" src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script>

<script language="javascript" type="text/javascript">
<!--
var Page_Validators = new Array(document.all["regexpTxt3"]);
// -->
</script>

<script language="javascript" type="text/javascript">
<!--
var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if ((typeof(Page_ValidationVer) != "undefined") && (Page_ValidationVer == "125"))
ValidatorOnLoad();
}

function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
return true;
}
// -->
</script>
********* NG *********


********* OK *********
<form name="Form1" method="post" action="input_card.aspx" language="javascript" onsubmit="if (!ValidatorOnSubmit()) return false;" id="Form1">

<script language="javascript" type="text/javascript" src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script>

<script language="javascript" type="text/javascript">
<!--
var Page_Validators = new Array(document.all["regexpTxt18"], document.all["regexpTxt19"], document.all["regexpTxt1"], document.all["regexpTxt2"], document.all["regexpTxt3"], document.all["regexpTxt4"], document.all["regexpTxt5"], document.all["regexpTxt6"], document.all["regexpTxt7"], document.all["regexpTxt8"], document.all["regexpTxt9"], document.all["regexpTxt10"], document.all["regexpTxt11"], document.all["regexpTxt20"], document.all["regexpTxt21"], document.all["regexpTxt22"], document.all["regexpTxt23"], document.all["regexpTxt12"], document.all["regexpTxt13"], document.all["regexpTxt14"], document.all["regexpTxt15"], document.all["regexpTxt16"], document.all["regexpTxt17"]);
// -->
</script>


<script language="javascript" type="text/javascript">
<!--
var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if ((typeof(Page_ValidationVer) != "undefined") && (Page_ValidationVer == "125"))
ValidatorOnLoad();
}

function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
return true;
}
// -->
</script>
********* OK *********
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2005-05-31 06:18
IEの[表示]メニューから[エンコード]を選択して他のエンコードに変えてみたらどうでしょうか。あと、.aspxファイルを保存するときのファイル形式(UTF-8?)に問題があるとか。
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-05-31 12:48
っちゅうか、自分でデバッグしぃや。行番号や文字数も出とうやろうに(それがHTMLソースの行番号と必ずしも一致していないけど)。

 デバッグの仕方が解らんのやったら、先輩に聞くこと。っつうか、「デバッグを使用しない」をOFFにしたらデバッグするかどうか聞いてきよるやろうに。そこで「はい」選んだら、ちょうどその場所が表示されるやろ。そしたら、そこに";"が足らへんと言われる要素がないか、考えたらええやん。
 考えて解らんかったら、その行、および前後あわせて8行ほどと、自分が考えた原因をあわせて書く。それがコミュニティでの"効果的な"聞き方、っちゅうもんでっせ。
_________________
ひろ
会議室デビュー日: 2004/11/29
投稿数: 13
投稿日時: 2005-05-31 13:56
おっとっと。おんなじ兵庫在勤ですね。
そんな熱くならずに聞いて〜や。

エラーメッセージの行番号を参考に、HTMLソースをエディタで開いてエラー発生場所を探してみる。
がーん、改行だけしかないぞ。

エラーが発生するファイルと正常に機能するファイルに自動生成されたコードを見比べる。
がーん、異常見当たらず。

そこで、いろんなファイルにValidatorを記述してみて様子をみてみる。
あれれ、一部のディレクトリ以下のファイルだけエラーが出るぞ。

バグか?バグなのか?バグだったら同じ現象が出てる人がおるはずや!
というわけで同様の現象に遭遇された方を募りました。

期待いっぱい、胸いっぱいで、教わった「スクリプトのデバックを使用しない」を試してみる。
がーん、VS召喚できず。

という感じで、現在は試しに.NET FrameWorkをアップデートしているところであります。


#ソース丸のせ、デバッグを他人に任せているように見られかねない暴挙。また、
説明不足、舌足らず、失礼致しました。
引続き原因究明中です。

ひろ

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