javascript 中的简单 joi 验证片段。当验证失败时,它只会返回一个错误对象。
验证.js
const Joi =require("joi");
function validateObject (input) {
const schema = {
key: Joi.string().required(),
};
return Joi.validate(input, schema);
};
let {error} = validateObject({key:5})
console.log(error)
Run Code Online (Sandbox Code Playgroud)
现在我正在学习打字稿并喜欢在 TS 中执行确切的功能。我知道 Joi 是一个 javascript 库,但我们可以在打字稿中使用它。探索时我遇到了一些替代方案,如https://github.com/ joiful-ts/joiful。
我很想知道是否有任何直接在 typescript 中使用Joi 的直接方法。或者做一点点改变,让 Joi 像在 Javascript 中一样工作。
我的尝试
验证文件
import * as Joi from "joi";
export const validateObject = (input: object) => {
const schema = {
home: Joi.string().required(),
};
return Joi.validate(input, schema);
};
validateObject({key:5})
Run Code Online (Sandbox Code Playgroud)
编译时,我收到错误
找不到名称“可迭代”。 …
我正在使用 jest 编写一个测试用例来测试从方法返回的数据。该方法返回非重复元素的数组。现在我正在尝试在 jest 中使用 expect() 来测试从该方法返回的数组是否只有唯一元素。
从方法返回的数组
arr = [ 'Pizza' ,'Burger' , 'HotDogs'] // All elements are unique
Run Code Online (Sandbox Code Playgroud)
有没有像下面这样的笑话匹配器来检查数组中的非重复元素?
expect(arr).toBeUnique()
Run Code Online (Sandbox Code Playgroud)
或者应该完成使用现有匹配器的任何逻辑?
检查 演示
当父 div 的宽度超过时,我试图将子 div 元素带到新行。我试过 display:flex ,但是当超过父宽度时,子 div 不会出现新行。就像引导类行子 div 元素超过了父元素的宽度,它应该放在新行中。
HTML
<div class="wrap">
<div class="block">Block 1</div>
<div class="block">Block 2</div>
<div class="block">Block 3</div>
<div class="block">Block 4</div>
<div class="block">Block 5</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.wrap
{
width:140px;
display:flex;
background:yellow;
}
.block
{
margin-right:5px;
width:70px;
}
Run Code Online (Sandbox Code Playgroud)