validation - 续集自定义验证器
问题描述
我想参考现有字段创建自定义字段验证器。我所做的是创建一个自定义验证器:
const User = sequelize.define('User', {
postalCode: {
type: DataTypes.STRING
},
country: DataTypes.STRING,
}, {
validate: {
wrongPostalCode() {
if (this.postalCode && this.country) {
if (!validator.isPostalCode(String(this.postalCode), this.country)) {
throw new Error('Wrong postal code')
}
}
}
}
});
User.associate = (models) => {
// TO DO
};
return User;
};
正如您在下面的错误消息中看到的,我们正在获取此验证器,但在“路径”行中有验证器名称。例如,我想将其更改为“postalCode”,或者以某种方式将其与模型中的一个字段连接起来。这对我来说非常重要,因为这与前端有关并将其解析为正确的表单控制。
有什么办法吗?
提前谢谢你:)
解决方案
您是否尝试过为该字段使用自定义验证器?我没有尝试过以下代码,但应该可以工作并将验证器链接到该postalCode
字段。
const User = sequelize.define('User', {
postalCode: {
type: DataTypes.STRING,
validate: {
wrongPostalCode(value) {
if (this.country) {
if (!validator.isPostalCode(String(this.postalCode), this.country)) {
throw new Error('Wrong postal code');
}
}
}
}
},
country: DataTypes.STRING,
});
推荐阅读
- javascript - 为什么这个 contenteditable div 插入符号(闪烁的光标)在达到最大长度时会跳到开头?
- jsx - 如何。如果可能,我是否使用 Visual Studio Community 2019 为 jsx ExtendScript 文件创建 *.jsxbin(导出为二进制文件)
- azure - 无法在 PowerShell 中安装 Azure 模块
- excel - Application.OnKey 无法运行宏
- matlab - COPY_OF_ODEFUN返回的向量长度为1,但初始条件向量的长度为2
- c# - 错误 CS1022:类型或命名空间定义,或文件结尾预期统一 3d 游戏引擎
- python - Azure 机器学习在训练样本上失败
- algorithm - 递归计算数据的运行平均值
- node.js - 无法读取未定义的属性“代码”,解码 Firebase ID 令牌失败
- python - 使用 Pandas 访问单个单元格