首页 目录 View on GitHub

the Leancloud framework G

返回

作用

统一输入方式
检测输入是否有问题并给出一定的信息

API

构造函数(Object params)

用params初始化这个checker
params的引用被保存在checker内部,如果随后params被改变,则checker返回的结果也会改变

raw()

返回原始数据(即params)

get(String name, Any opt)

获取params[name]对应的数据,如果不存在则返回opt

has(String name)

判断params里是否存在name字段
nullundefined空字符串被认为是存在
params 没有这个key被认为是不存在

require[Type](name)

返回必须存在的字段name
如果不存在,或者类型不满足要求,都抛出 InputCheckFailError 异常,这是一个 ApiError 的实例
例如 params = { a:"abc" } checker.requireString("a") // 返回字符串"abc"checker.requireInt("a") // 抛出异常

requireNullable[Type](name)

require[Type] 基本相同
不同的是,这个字段可以是空值(nullundefined
这样可以强制传入一个参数,但该参数可以为空
例如:
requireObjectId 必须传入一个合法的 objectId
如果这个参数可以为空,那么有两种选择:requireNullableObjectIdoptionalObjectId
在api设计中,optional常常引起误会,最好的方法是传入一个特殊值“null
此时这个参数可以接受一个合法的 objectId 或 null,而非法的 objectId 就不能通过

require[Type]Array(name)

返回必须存在的字段name数组
输入既可以是一个单个的数据,也可以是一个数组,但返回保证总是一个数组。
如果不存在,或者任意一项类型不满足要求,则抛出 InputCheckFailError
例如:
params = { a1:"test", a2:["test1","test2"] } checker.requireStringArray("a1") // return ["test"] checker.requireStringArray("a2") // return ["test1","test2"]

optional[Type](name, defaultValue)
optionalNullable[Type](name, defaultValue)
optional[Type]Array(name, defaultValue)

defaultValue是“默认值”,如果指定的值不存在,则取该值。其他行为与require一样。
有值但类型不满足仍然抛异常。注意空值也算有值。如 params = { a:null } checker.optionalInt("a", 0) // 抛异常
“默认值”参数没有类型要求