nodejsパラメータ検証
2095 ワード
今日はnodejsを使ってバックグラウンドを開発する時に問題が発生しました.情報を修正する時にどのようにパラメーターを検証しますか?ここではパラメーターの修正性を検証します.またパラメーターの合法性を検証します.そこで私は方法を書いて検証しました.考え方は大体このようにして、配列を作ります.中の食べ物はパラメーターがkeyの辞書です.辞書にはいくつかの属性が含まれています.はrequired が存在する必要がありますか?は空allowNull であることができますか?長さ制限Maxlength このようにすると、伝達されたパラメータは配列内でなければならず、他の不正なパラメータを防止し、修正が許可されていないパラメータが検出されたら、直接に500に戻ることが保証される.
ここで一番簡単な例は私達が個人情報を修正する時、私達は名前と電話番号だけを修正することができます.だからリストを設けてフィルタリングします.
検査の方法は
入力
入力:
入力:
以上は最も簡単なパラメータ検査です.ここでは検査に失敗した後、エラー500のリターンを統一しました.また、不正なパラメータを自動的にフィルタリングしてエラーを返さないこともできます.この方法は実際の状況に応じて拡張できます.例えば、isEmail、isNumberなど様々な拡張が加えられます.
ここで一番簡単な例は私達が個人情報を修正する時、私達は名前と電話番号だけを修正することができます.だからリストを設けてフィルタリングします.
{
"key":[ , ]
}
var enableList = {
"name": [false, 0],
"phone": [true, 11]
}
ここでは名前を書かなくてもいいです.長さは制限しません.電話番号は必ず記入します.最大長さは11桁です.検査の方法は
//check required
for(var i in rules){
console.log(rules[i][0]);
if(rules[i][0] == true) {
//
if(!args[i]){
console.log(" "+i);
return false;
}
}
}
//
for (var i in args) {
if(!rules[i]){
console.log("invalid args");
return false;
}
//
if(rules[i][1]!=0){
if(args[i].length>rules[i][1]) {
console.log("args too long");
return false;
}
}
}
return true;
私たちはテストを行います.入力
name:chenhao
出力結果{ name: 'chenhao' }
false
true
phone
ヒントの足りないphoneが見えます.入力:
name:chenhao,
phone:188888888888
出力:{ name: 'chenhao', phone: '188888888888' }
false
true
false
args too long
ヒントパラメータの長さが制限を超えています.入力:
name:chenhao,
phone:188888888888,
gender:man
出力:{ name: 'chenhao', phone: '1888888888', gender: 'man' }
false
true
false
invalid args
ここで不正なgenderパラメータが検出されました.以上は最も簡単なパラメータ検査です.ここでは検査に失敗した後、エラー500のリターンを統一しました.また、不正なパラメータを自動的にフィルタリングしてエラーを返さないこともできます.この方法は実際の状況に応じて拡張できます.例えば、isEmail、isNumberなど様々な拡張が加えられます.