javascript - 类型“NumberSchema”上不存在属性“长度”
问题描述
我收到标题中提到的错误。我知道错误是什么,但不知道如何解决它。
基本上我正在使用“是的”进行验证。
添加了自定义方法
Yup.addMethod(Yup.number, 'length', function (length: number, message: string) {
const tmessage = (typeof message == 'undefined') ? 'length must be ' + length : message;
return Yup.number().test('length',tmessage,function(value: string | number) {
return (typeof value == 'undefined') ? true : (value.toString().length === this.resolve(length));
});
});
定义验证模式
const validationSchema = Yup.object({
name: Yup.string().required('Name is required'),
email: Yup.string().email('Invalid Email').required('Email id required'),
mobile: Yup.number().required('Mobile is required').length(10),
message: Yup.string().required('Message is required')
});
我在线收到打字稿错误
mobile: Yup.number().required('Mobile is required').length(10),
解决方案
您可以增加模块的类型定义,如https://github.com/jquense/yup/issues/312#issuecomment-422666195中所述。在您的情况下,在您的项目中创建任何.d.ts
文件并插入:
declare module "yup" {
interface NumberSchema<T extends number | null | undefined = number> {
length(length: number, message: string): NumberSchema<T>;
}
}
或者不是理想但简单的解决方案:使用(Yup as any).number().required('Mobile is required').length(10)
.
推荐阅读
- adaptive-cards - 自适应卡片 - 是否可以强制用户在允许 Action.Submit 之前在输入文本字段中输入内容
- ios - 检测何时在 SwiftUI 中从后台打开特定视图?
- javascript - JS 异步 / 等待 Pokemon Api
- android - TextView 出现在预览中,但不在模拟器和真实设备上
- javascript - Chrome 需要很长时间才能元刷新非活动页面
- sympy - sympy 将分数与变量分开
- c - 基本 VLDR 上的 STM32 Cortex-M4F FPU 硬故障
- linux - 如何从日志文件中grep特定错误及其多行描述并将其输出到Linux中的新日志文件中?
- css - 如何链接使用伪添加的文本:列表中的类之前
- python - 使用 Python、Kubernetes api 调用的 YAML 到 JSON