2015-11-03 69 views
2

我對使用Joi驗證hapi中的請求有效載荷相當陌生。我的問題如下。我有這個定義的路線:在Joi中允許可選參數,而不指定它們

{ 
    method: 'POST', 
    path: '/foo/bar', 
    config: { 
     description: 'foo.bar', 
     handler: handlers.foo, 
     auth:false, 
     tags: ['api'], 
     validate: { 
     payload: { 
      email : Joi.string().required(), 
      password : Joi.string().required(), 
     } 
     } 
    } 
} 

電子郵件和密碼是我的必需屬性。但是,我想允許其他屬性,而不必全部指定它們。例如:

{ 
    email: [email protected], 
    password: fooPass, 
    name: myName, 
    surname: mySurname 
} 

有沒有辦法與Joi做到這一點?

回答

8

可以在options設置allowUnknowntrue

validate: { 
    payload: { 
    email : Joi.string().required(), 
    password : Joi.string().required(), 
    }, 
    options: { 
    allowUnknown: true 
    } 
} 

options參數傳遞給Joi上驗證。

相關問題