2017-07-16 60 views
3

Express-Validator模塊使用新函數:req.getValidationResult()如果驗證中存在任何錯誤,則此函數返回一個對象。對象看起來像:Express-Validator和req.getValidationResult()

{param: "field name", msg: "error message", value: "<field input value>"} 

問題是 - 如何從一個對象返回一個.msg參數?當我使用

req.getValidationResult().then(function(result){ 
     if(!result.isEmpty()) { 
      console.log(result.array()); 
      //return; 
     } else { 
      console.log('Validation Ok'); 
     } 

該函數返回一個數組。但我只需要.msg。

回答

0
req.getValidationResult().then(function(result){ 
    const {msg} = result; 
    if(msg != undefined) { 
     console.log(msg); 
     //return; 
    } else { 
     console.log('Validation Ok'); 
} 
0
request.getValidationResult().then(function(result) { 
      if (result.array() != '') { 
       response.render('route',{validation:result.array()}) 
       return; 
       return; 
      } else { 
       //valid 
      } 
     }); 

視圖:

<% if(validation) {%> 
<ul> 
    <% for(var i = 0;i< validation.length;i++){ %> 
    <li><%= validation[i].msg %></li>   
    <%}%> 
</ul> 
<% }%> 
3

的代碼應爲以下

req.getValidationResult().then(function (result) { 
     if (!result.isEmpty()) { 
      var errors = result.array().map(function (elem) { 
       return elem.msg; 
      }); 
      console.log('There are following validation errors: ' + errors.join('&&')); 
      res.render('register', { errors: errors }); 
     } else {