如果schema需要set并且data为空字符串,则Ajv返回有效的模式

时间:2018-01-24 14:05:31

标签: ajv

您好我刚刚开始学习AJV,我对如何处理必填字段感到困惑。我正在开发一个已经构建的项目,也许当前用例不需要某些配置,或者做错了。

我使用的是AJV verion 5.5.1。

这是我的代码:

this.http.get(url,{
                headers : new Headers(('Content-Type', 'application/vnd.ms-excel'),
                responseType: ResponseContentType.Blob }).map(
    (res) => {
        return new Blob([res.blob()], { type: 'application/vnd.ms-excel' })
    })

现在这会将isValid变量设置为true,而validator.errors没有错误,这让我有点困惑。因为我希望它会发生错误,因为在架构级别我在必需的属性中设置'name'键。

我也尝试设置data.name = null我得到的isValid为false,错误对我有意义,因为我在模式级别将类型设置为字符串,但它不是验证所需的错误。我希望能够在必需的错误和类型错误之间区分。

如果属性没有值,如何使验证器返回false?

0 个答案:

没有答案