2011-12-07 22 views
2

フォームの検証はいつ行われますか?これは最善の方法ですか? HTML5では、電子メールアドレスと電話番号を検証することができますが、通常はPHPでこれを行うので、どの方法が優れていますか?または、HTML5とPHPの入力を検証する必要がありますか?HTML5検証とPHP検証

+5

残りの部分は主に使い勝手の良さです(クライアント側の検証に決して頼ることはできません) – Matthew

+0

マークアップ言語で検証しますか? –

+1

@webarto: "マークアップ言語で_Validate?_":はい、可能で、それは "未来"です。詳細と例については、[この記事(http://www.the-art-of-web.com/html/html5-form-validation/)]を参照してください。 – Tadeck

答えて

10

両方。

ルール:
ユーザーにより良いエクスペリエンスを提供するためにクライアント側を検証します。
受信したデータが100%確実になるようにサーバー側を検証します。

+0

+1良いと短い点。 – Tadeck

1

両方を実行する必要があります。クライアントサイドでHTML5やJavaScriptの検証を行うことで、ページの読み込みやPHPの検証を節約することができます。

0

どちらもお勧めです。何かが一致しない場合、通知されるフォームに記入するといいです。しかし、簡単にバイパスされるのでJSの検証に頼ることはできないので、サーバー側が必要です。

3

サーバー側のプログラミング言語で常に検証し、さらにクライアント側の検証を使用することもできます。この理由は、すべてがクライアント側で変更できるため、クライアント側の検証をバイパスするためです。それは難しいことではなく、人々がHTMLやJavascriptを修正して必要なものを提出するためのツールがたくさんあります。

ゴールデンルールは、決してユーザーを信頼することではありません。最悪を予期し、それに備える。 は、ファイヤーバグや他のウェブ開発ツールなどのツールを使って試してみるべきです。

0

答えはどちらも正しいです。好み(いくつか述べたように)ではなく、要件。すべてのHTML(HTML5を含む)は、ブラウザを介してページ上で直接編集することができます。 Firebugを使用してこのページのタイトルを編集するのと同じように、HTML入力バリデーターを編集することができます。サーバー側の検証がない場合は、そこに置くものはすべて受け入れます。 HTML5での検証処理は、ハッカーを招待してすべてのdbテーブルを破壊するようなものです。あなたはそれが欲しいですか?

私は明確な例として、この愚かな男のサイトでこの最後のコメントを見つけました:http://demosthenes.info/blog/462/Goodbye-JQuery-Validation-HTML5-Form-Errors-With-CSS3

0

はプロのプログラマのほとんどは、サーバー側のスクリプト言語での入力フィールドを検証するアプローチを持っています。 PHPを使用してサーバー側のフォームの検証は、HTML5よりも優れているといくつかの方法でクライアント側のフォームの検証:電子メール、電話、その他:

  1. HTML5は自動的に入力された例のためのフィールドを検証するいくつかの属性が含まれています。これらの属性は限られています。現実の世界では、HTML5を介して直接検証することができないいくつかのフィールドを持つ多くのフォームが存在します。

  2. javascriptを第2のオプションとして使用してクライアント側で検討する場合は、ブラウザでjavascriptをオフにすることができます。それは最終的にユーザーエクスペリエンスに影響を与えます。そのため、PHPのようなサーバーサイドスクリプトlanugaeを使用してフォームを評価する方が優れています。

  3. 重要なデータを含むウェブサイトには、上記の方法を採用する必要があります。