エラーメッセージの改善
良いニュースは、単に隠しフィールドのvalue属性で別のメッセージを提供するように、次の例では、メーカー:これらの両方の問題を解決することができます 今、検証され、フォームの場合は、ユーザ名が提供されていないように、ユーザの代わりにColdFusionのデフォルトのエラーメッセージは、カスタムエラーメッセージが表示されます。また、ColdFusion MXで不具合が必要なフォームフィールドのカスタムエラーメッセージは無視されている。れますこれはMacromediaとの既知の問題であり、その間近のColdFusion MXアップデータ2は、ダウンロードしてこの資料が公開された時点で利用可能にすべきで修正される予定です。文字列は、value属性の提供はただの言葉遣いができること、は、文字列内に追加のHTML入れ表示される場合も許容されます。これは、単にブラウザを介して渡された場合、例えば、使用するか 、 タグをいくつかの詳細 、 エラーメッセージに書式を追加することができます。 さて、その値を属性を使用するには、エラーメッセージの文言を改善することができますは、それが提供するのは、画面の全体的な外観はどうか?どのように、このメッセージは、パステルカラーを使用して多彩なアプリケーションの全体的な外観には影響しませんブルーのボディの背景と適切なテキストの色を、突然に表示される画面の白の背景には、黒Times Romanのテキストとか、そしてあなたのサイトのナビゲーションツールバーはどうか?もしユーザーが、どのように彼はあなたのお問い合わせページを見つけることができる表示されるエラーについての質問は?ユーザーは、ウェブマスターへのリンクを使用して標準フッターに表示されません。として一目見ただけでやったように、突然、この粋な自動ツールとして有用見ていません。実際、多くの開発者は、まさにこの理由のために放棄している。それを解決することができますただし、問題の少なくともこのプレーンblackon白の形式でページを移動するよりも大きい程度で。あなたが(色、フォント、およびなど)は、通常のHTMLタグを使用して、ページ全体のレイアウトを制御することができます。あなたも、ページ右上のナビゲーションツールバーや他の機能を配置できます。ソリューションのタイプcferrorのコードには、エラー処理を自分で作成した形式の外観のテンプレートを指定することができます="検証"を追加することだけで、これらの検証エラーが発生。 3つの問題は、この自動サーバーを使用する側の検証については、上記の部分で識別される、最後にすべての最悪の可能性がありますし、多くの、それもサーバーを使用する側の自動検証をお勧めしないように十分な理由だ。この問題は、そのプロセスが"あなたのWebブラウザ上で前のページに戻り、表示された問題を修正する[戻る]ボタンを使用してユーザーが必要です。"良いことをお勧めすることはありますか?おそらくない。いくつかのインスタンスでは、そうすることが失われるために、フォームに入力された情報が!ユーザーの時間は、データのいくつかの作品を求めての登録フォームに必要事項を記入の良いビット支出の不満を想像しなさい。のS /彼は、それがエラー(多分ちょうど1つのミス)、およびユーザーが含まれると言われるには、Backボタンを押しただけでは、フォームがクリアさを見つけるために提出する!そして、絶対にこの問題については何も行うことができます。一般的には容易に制御されない問題をキャッシュをブラウザに関連するの。あなたは、これは大したいずれにせよ、これは、必要な検証が失敗は、ユーザーが最初に必要なフィールドに何も入力しなかったことを意味されていないと考えている場所も考慮して、どの1つだけの検証が失敗したデータのいくつかのフィールドを求めることがあります。この問題は、プロンプトの場合だけユーザ名とパスワードの入力は深刻ではない。しかし、より複雑な形で、それは本当に大きな問題となることができます。これには、課題に敏感になる。その場合は、この自動サーバー側の検証を使用して実行することができます検証の他の種類のが幸いなことに、代替案は、クライアントに存在する側の検証は、後で説明します。現在のところ、ありません。後に理解してどのようにプロセスを一般的に、他のディレクティブについて学ぶために必要な動作します。 _requiredの検証に加えて、さらにいくつかのいくつかの簡単な検証は、我々は、この資料に記載されています。これらのオプションが表示されることとして、簡単に、必要な特定の問題のほとんどに対応する。これらの問題の多くは、事実の前には、アクションページに渡されますが、単に入力データの検証に加えて、検証のプロセスはまた、いくつかのケースでは、データの変更と方法では明らかにされない可能性がありますも、予想などを中心に回っ次のリストについて説明します: _integer場合は、番号は、ユーザーによって入力された:カンマまたはドル記号が含まれ、これらの文字は、検証のために削除されているアクションページに渡されていません。文書はまた、ラウンド番号を入力した場合は10進数の値が含まれますが、実際には、単にそれらを切り捨てている。 _float:カンマ、ドル記号と同じように_integerいませんが、また、数値を変換を削除(ゲーム内のアクションページに続く)ように、小数点以下6位、ゼロに満ちている発表した。 _range値:予定の範囲の分として、value属性で= xxxを最大= yyyは、スペースで区切って指定する。また、_float(10進数の値を許可しないので、それだけでなく、カンマ、ドル記号を削除するなど)10進数の右の6つの場所している番号の変換などの数字と同じに扱います。_rangeも1つだけの境界を指定することができます。 (しかし、それは番号の後に、分= 5のようにスペースを配置する必要があります。それができない状態分= 5のスペースでは、少なくとも前のバージョンを5にやっとしては深刻なバグが原因となる)最後に、これは、の範囲は、VALUE属性で指定された場合は、失敗した範囲の検証のためのカスタマイズされたメッセージを提供することはできません。 _DATEを:12/2/01、2001年12月2日など、さらには12-2-01、12月2日、12月2日12月2日のようにフォーマットの広い範囲を受け入れます。さらに重要なのは、日付に変換ODBC日付形式で入力:12/13/01(開発'2001 - 12 - 13')となります。場合は、ODBCデータベースに値を格納している、これで十分です(これはそれを保存する場合は、形式に日付を変換する)ですが、それを表示するためのアクションページで必要なのは(または非保存されたODBCデータベース)が必要です、それを変換する必要があります。は、DateFormat()関数は、使用を通常の日付形式には、新しいバージョンに変換するために利用可能であることを認識してください。その年の日付が中断されると、このディレクティブは、現在の年と仮定します。のみの場合、単一の数値しかし、(おそらく、現在の月の日付をしようとする)に入力されると、まったく動作しません。もしそれが唯一の方法は、日付可能性が有効なことができる:13/12/01ためのこの1つの番号に無効な日付。_DATEをとしては欧州ヶ月前までの形式の日付(日受け付け)、拒否され受け入れられてとなり、(開発'2013 - 12 - 01')。それでも、_eurodateオプションを使用するだけで_DATEを使用する場合、ユーザーが自分のお日にちをご入力するには、欧州の形式が望ましい。妙な場合は、入力した値のいずれかではなく、有効な日付(13/13/13)かどうかの日付にあるすべての(x)は、両方の単純さ:この値は、FormFieldのフィールド('値'の入力です)の既定のメッセージ形式が正しくありません。実際には、日付をする必要が伝えるそうだが、はるかに有効な1。これは、実際にカスタムメッセージを提供することを提案する。 _eurodate:_DATEを株式のすべての側面。唯一の違いは、デフォルトの形式の予定日は欧州のため、月(とし、続いて、必要に応じ、1年です)。 _time:として_DATEをしないと、このディレクティブだけでなく、時間の検証もODBC時刻形式に変換する:1:12(トン'01になる:12:00')。場合は、ODBCデータベースにデータを格納している_DATEをと同様に、この変換(とそれを保存する場合、その形式に変換する必要があります)が、罰金れている場合に表示するためのアクションページで必要なのは(またはに格納され非ODBCデータベース)、()関数を利用TimeFormatを使用してバックアップを変換する必要があります。 _timeを受け入れる/午前/午前とp /午後/ pmの期間を指定します。場合は、指定をオフに残っていると、午前と仮定します。また、10時などは、前提としてちょうど1時間と期間を指定子を入力することができます時間(午前十時00分00秒)。のみの場合、単一の番号は、期間指定子なしで入力されると、しかし、おそらくこれは、ユーザーが朝の時間を意味し、その値が無効な時刻として拒否されるつもりです。場合は、日付が入力され奇妙なことに、それが、値がそれにcoverts(トン'00:00:00')、意味が深夜それを受け取ります。 (このような結果ではなく論理的なことではない可能性が高いほとんどの開発者が期待する)いくつかの一般的な問題の1つまたはこれらのサーバーの詳細側の検証に適用するには、次のリストとして説明します: などの資料を、ここで我々の両方のユーザ名とパスワードの各フィールドを検証したの例で以前のバージョンでデモを行った場合は、もちろん、フォームで一度に複数のフィールドを検証することができます。単に、各フィールドの隠しフィールドのタグを検証するために追加します。エラーメッセージが表示されますが発生するすべての検証エラーが反映されます。 また、フィールドごとに複数の検証を指定することができます。は、[Age]フィールドの両方が必要です整数でなければならないことを示すために、例の場合は、単純に作成する2つの隠しフィールドタグage_requiredと名付け、age_integer、それぞれ。 フィールドに検証規則を追加しても必要なフィールドを作成しません。あなたが別の_required隠しフィールドの場合、ユーザーのエントリを確認したいを追加する必要があります。 それは、常にこの検証を実行するのをサーバー上での効果側の処理時間を心配している場合があります。任意のタイムを失ったが、実際に、もっと重要な性能の面排水に比べてごくわずかです。あなたが直面する1つの不幸な問題は、しかし、それを常に意識している必要があります:CFのアクションページは常にフォームを見ているかどうかのフィールドで終わるが含まれて決定するために行う接尾辞。さらに、それをフォームフィールドは、データベースを更新するタグの場合は、Joined_Dateとして、データベース内の()は、ユーザーがサービスに参加した日という意味のようなフィールドがありますcfinsertタグとcfupdateこの問題が発生することができます。使用されるリストから、これらのフィールドを削除。 CFの任意のフォームフィールドを含む参照してくださいとその名前(Joined_Date)""フィールドに参加のための検証である。さらに悪いことに、それをcfinsertタグまたはCFUPDATE処理する前に、Joined_Dateフィールドを削除すると、その列に挿入されることはありません/更新しました。繰り返しますが、ちょうどこの問題を認識することがあります。これは、しばしば非常に困難なバグを解決するためのソースです。これは、自動サーバーの概要を簡単側での検証です。これは、そのplussesとマイナスされている機能です。場合は、フォームのユーザーの要求が最優先事項は、これは、サーバー側での検証をバックアップするすべてのエラーを修正するためには、ユーザ強制する必要があります、それは実際に使用すべきではないカップルの入力フィールドを超える。場合は、複数のフォームフィールドを検証する必要があります(そして、後でその手の他の目的に完全に使用されて、サーバサイドの検証コードされます。)の代わりに、参照して、クライアントを使用する側の検証では、自動機能がはるかに優れたユーザーエクスペリエンスを提供することができますCFのこれは非常に簡単であっても、JavaScriptを知っていないことを確認。 記事ジルBabcoff提出 免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。 重要: この資料の"エラーメッセージ"自動ソフトウェアによって翻訳されたの改善。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。
|
|||||
| Online: 308 users browsing the articles directory |
|
|