2017-10-14 97 views
0

我使用express-validator來驗證和消毒我在服務器端的表單。許多驗證和消毒在各個領域都很常見。 例如,我在幾乎所有的領域做有沒有辦法一次性清理特定形式的所有字段?

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

,並在所有不同領域手工指定它們變得非常多餘。有沒有一種方法可以應用驗證條件並一起清理所有字段?

回答

1

你可以傳遞一個數組check,如:

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

顯然,這仍然需要字段名的顯式列表,而不是僅僅適用於「所有」,但沒有明確的名單有好多是沒辦法讓驗證者知道哪些字段應該存在。

+0

其實,一個*可以*使用'*',但只適用一層深度。如果有任何嵌套的字段必須通過相同的過程,那麼您需要爲每個級別執行'*。*'等等 – gustavohenke

+0

@gustavohenke我不關注,它如何執行'exists()'檢查如果你沒有指定該字段的名稱? – skirtle

+0

嗯,你是對的:)但如果驗證是另一個比那更好。 – gustavohenke

相關問題