4

Node/Express/Jade でアプリを開発中です。

フォームをレンダリングする GET ルートがあります。ユーザーがこれを送信すると、POST ルートがリクエストを処理します。req.body に入力する bodyParser を使用します。

次に、req.body で新しいデータを直接サニタイズ、検証、生成します。

// Shorthand variable
var doc = req.body;

// Sanitise and transform user input
doc.company = sanitize( doc.company ).trim();
doc.contact_person = sanitize( doc.contact_person ).trim();
...

// Validate user input
validator.check( doc.company, 'Some error message' ).notEmpty();
validator.check( doc.contact_person, 'Another error message' ).notEmpty();
...

// Generate new object data
doc.slug = sanitize( doc.company ).toSlug();
...

質問: req.body でデータを直接編集しない特別な理由がある場合は? 代わりに、req.body のデータから新しい「doc」オブジェクトを作成し、その新しいオブジェクトでサニタイズ、検証、および新しく生成されたデータを追加する必要があります。

4

2 に答える 2

1

間違いなく変更できます。たとえば、express.jsonミドルウェアは、残りのミドルウェア チェーンのために生の本文データを JSON に解析します。

チェーンの残りのデータを変更するつもりがない場合は、正しい操作に干渉しない場合でも、コピーを使用することをお勧めします。後の開発で発生する可能性のあるデバッグが困難なエラーを防ぎます。

于 2013-09-26T14:34:55.560 に答える