js中ajv如何校验数组
时间: 2023-08-11 08:03:05 浏览: 188
在JS中,AJV提供了一种校验JSON数据的方法。如果你要校验一个数组,可以使用AJV的`validate`方法,如下所示:
```javascript
const Ajv = require('ajv');
const ajv = new Ajv();
const schema = {
type: 'array',
items: {
type: 'string'
}
};
const data = ['hello', 'world'];
const validate = ajv.compile(schema);
const isValid = validate(data);
if (isValid) {
console.log('数据校验通过');
} else {
console.log('数据校验失败', validate.errors);
}
```
在上面的代码中,我们定义了一个校验规则`schema`,它要求数据必须是一个数组,并且数组中的每个元素都必须是字符串类型。然后我们定义了一个待校验的数据`data`,它是一个符合规则的数组。接着,我们使用`ajv.compile`方法编译校验规则,得到一个校验函数`validate`,然后使用该函数校验数据。如果校验通过,`isValid`将会是`true`,否则将会是`false`,并且`validate.errors`将包含校验错误信息。
相关问题
js中ajv如何校验数组长度最少为1
你可以使用ajv的`minItems`关键字来校验数组长度最少为1。以下是一个简单的示例代码:
```javascript
const Ajv = require('ajv');
const ajv = new Ajv();
const schema = {
type: 'array',
minItems: 1,
};
const data = [1, 2, 3];
const validate = ajv.compile(schema);
const valid = validate(data);
if (!valid) {
console.log(validate.errors);
} else {
console.log('数据校验通过');
}
```
在上面的示例代码中,我们定义了一个名为`schema`的JSON Schema对象,其中包含了`type`和`minItems`两个关键字,分别表示校验数据类型为数组且数组长度最少为1。然后我们使用`ajv.compile`方法编译`schema`对象,并使用编译后的函数`validate`验证数据`data`是否符合`schema`规定。最后根据验证结果输出不同的信息。
阅读全文