2017-10-14 6 views
0

エクスプレスバリデータを使用して、サーバ側で自分のフォームの検証とサニタイズを行っています。多くの検証とサニタイズは、フィールド全体で共通です。 例えば、私はほとんどすべてのフィールド上の特定のフォームのすべてのフィールドを一度にサニタイズする方法はありますか?

check('field name here") 
    .exists() 
    .trim() 
    .escape() 
    .xss() 

をやって、手動ですべての異なる分野間でそれらを指定すると、非常に冗長になっています。検証条件を適用してすべてのフィールドを一緒にサニタイズする方法はありますか?

答えて

1

あなたは例えば、checkに配列を渡すことができます。

check(['field1', 'field2', 'field3']) 
    .exists() 
    .trim() 
    .escape() 
    .xss(); 

明らかにこれはまだフィールド名の明示的なリストを必要とするだけではなく、「すべて」に適用されるが、明示的なリストせずに方法がないだろうどのフィールドが存在するはずであるかをバリデーターが知ることができます。

+0

実際には、* *は '*'を使うことができますが、これは1レベルの深度にしか適用されません。同じプロセスで渡さなければならないネストされたフィールドがある場合は、各レベルに対して '*。* 'などを行う必要があります。 – gustavohenke

+0

@gustavohenke私はそれに従わない、' exists() 'チェックを実行する方法フィールドの名前を指定しない場合は? – skirtle

+0

まあ、あなたはそうだ:)しかし、検証がもう1つあれば、それはもっと大丈夫だろう。 – gustavohenke

関連する問題