、エクスプレス4、 は、時々私は、クライアントが処理されるように、この種のJSONデータを送信し、ルートを書き、JSONコンテンツポスト要求の検証の練習
{
"data" : "xx"
"nested" : {
field1: "111",
field2: "222"
}
}
そして、サーバ側で、私はしばしば見つけます私自身は、このような
if (!validVariable(req.body.data)) //error
if (!validVariable(req.body.nested)) //error
if (validVariable(req.body.nested)) {
if (!validVariable(req.body.nested.field1) // error
if (!validVariable(req.body.nested.field2) // error
}
.....
function validVariable(input) {
return (typeof input !== 'undefined') && input;
}
として、マニュアルの検証をたくさんやって私が先に行くとreq.body.nested.field1を使用している場合、私はクラッシュする可能性があり、常に安全にPOSTリクエストのコンテンツにアクセスする前に、構造体をテストすることは非常に面倒ですreq.bodyからのヌルポインタ例外によるサーバネストされた。
私はフォームのコンテンツのサーバーの検証は、この退屈だとは思わない?人々は通常何をしていますか? 私はnode-validator、express-validatorを見てきました。本当に便利ですが、手動でjsonデータをテストしていますか?より良い方法がありますか?
また、クライアントが送信したデータ型を気にして、実際に手動でデータ型をチェックすることを考えていますか? isBoolen? isInt? isStringなど。これは本当に退屈なので、javascriptの検証との洞察は本当に役立ちます! ありがとうございました!
を参照してください。問題はJSONとは関係なく、安全にネストされたオブジェクトにアクセスする方法を示しています。 JSONは単なるテキストです。うまくいけば、これはより良い検索用語を使用して既存の質問を見つけるのに役立ちます。 –
check http://json-schema.org彼らは複数の言語でバリデーターを持っています –