2011-11-25 11 views
18

クライアント側とサーバー側(Node.js)の両方で同じJavaScriptコードを検証するためのオプションは何ですか?クライアントとNode.jsサーバーの両方で動作するJavaScript検証ですか?

+1

私は自分自身の検証を書くことになった。 基本的に私はモデルを持っています。それに対する検証を持っている人。このPersonモデルは、クライアントとサーバーの両方に存在します。ユーザーが自分の書式に詳細を入力すると、私はPersonオブジェクトを作成して検証し、誤ったフィールドにフィードバックを与えます。 フォームがサーバーにPOSTされたら、私はPersonオブジェクトを再設定し、クライアントから受け取った値で再検証します。エラーがあれば、クライアントに送り返します。 このようにして、私はクライアントとサーバーの両方で同じモデルを再利用し、単体テストを実行し、jqueryでエラーを表示することができます。 –

答えて

-14

なし、サーバー側で全く異なる基準を検証しています。クライアント側の検証は、純粋にユーザー承認基準であり、セキュリティとは関係ありません。ほとんどの場合、セキュリティに専念するサーバー側の検証。

+10

私は同意しません。 XSSと他のインジェクションを無視しても、フォームフィールドはX文字であり、ポストコードであることを検証したいと思っています。さもなければ、私がFirebugに入り、サーバーに提出された値を変更するのを止めるものは何もありません。 JavaScriptをクライアントとサーバーの両方で使用することは、コードの再利用を意味します。それは愚かではないでしょう。 –

+0

XSSと他の注射の脆弱性を無視することはできませんので、あなたの意見は無関係です。 – austincheney

+0

彼のポイントは有効だと思います。私は電子メールがクライアントとサーバーの両方の電子メールであり、まったく同じコードをまったく同じ言語で2回書く必要はないことを確認したい。このレールの宝石の例を参照してください: – rgbrgb

8

revalidatorをご覧ください。これは、 "リソースが豊富でフラワーアイロンで使用されるcross-browser/node.jsバリデータ"と説明されています。

関連する問題