[nodejs] Joi對非必填的字符串字段的默認校驗--總結


只能為字符串

  let schema = Joi.object({
    remark : Joi.string().empty("").default("").label("備注"),
  });
  let{error, value} = schema.validate(data);


  let data = {remark:""}   /*通過校驗*/

  let data = {remark:null}   /*不通過校驗, 提示remark必須為string類型*/

  

可為null時,不允許為空字符

  let schema = Joi.object({
    remark : Joi.string().empty(null).default("").label("備注"),
  });
  let{error, value} = schema.validate(data);


  let data = {remark:""}   /*不通過校驗,不允許為空字符串*/

  let data = {remark:null}   /*通過校驗*/

  其中empty(null) 等同於empty()。

 

空字符或null都兼容

let schema = Joi.object({
    remark : Joi.string().empty([null, ""]).default("").label("備注"),
});
let{error, value} = schema.validate(data);


let data = {};  /*通過,value.remark='' */

let data = {remark:null};  /*通過,value.remark='' */

let data = {remark:""};  /*通過,value.remark='' */

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM