terrazza / validator
Terrazza 组件验证器
1.0.2
2022-05-22 22:00 UTC
Requires (Dev)
- phpunit/phpunit: ^9.3
- terrazza/dev-logger: 1.*.*
- vimeo/psalm: 4.x-dev
README
此组件验证/批准内容与模式
对象/类
ObjectValueSchema
属性
- name (字符串,必填)
- type (字符串,必填)
- number
- integer
- double
- array
- boolean
- string
- object
- oneOf (require setChildSchemas)
- required (bool,默认=false)
- nullable (bool,默认=false)
- patterns (字符串,可选)
仅用于类型:string - format (字符串,可选)
仅用于类型:string - minLength (int,可选)
仅用于类型:number,integer,double - maxLength (int,可选)
仅用于类型:number,integer,double - minItems (int,可选)
仅用于类型:array - maxItems (int,可选)
仅用于类型:array - minRange (float,可选)
仅用于类型:number,integer,double - maxRange (float,可选)
仅用于类型:number,integer,double - multipleOf (float,可选)
仅用于类型:number,integer,double - enum (标量,可选)
仅用于类型:number,integer,double - childSchemas (ObjectValueSchema 数组,可选)
method: isMultipleType
验证类型是否为之一
- oneOf
ObjectValidator
method: isValid
调用方法::validate但被try/catch所覆盖。
如果捕获异常,方法返回false。否则,方法返回true。
method: validate
验证内容与
- contentType
- validateArray
- validateString
- validateNumber
- validateFormat
- validateEnum
- validateMultipleTypes (例如 oneOf)
method: getEncodedValue
尝试解决一些内容:可能被解决的问题:内容与模式不匹配。
如果能够解决问题,该方法
- 将模式类型设置为转换后的类型
- 返回转换后的值
示例
- 期望类型:integer,给定 "12"
- 期望类型:boolean,给定 "yes"