[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-2025 CODEPRJ.COM