gpt4 book ai didi

javascript - 快速验证器 : show only one validation error message of a field

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:20 24 4
gpt4 key购买 nike

我是expressjs的新手,express-validator 。我有一个注册表单,用户必须提交电子邮件地址(以及其他字段)。我的电子邮件字段验证规则与“express-validator”看起来像

req.checkBody('email', 'Email field is required').notEmpty().isEmail().withMessage('Invalid email address');

我正在使用 Jade 打印出错误,例如

  if errors.length  
.alert.alert-danger
a.close(href='#', data-dismiss='alert', aria-label='close') ×
for error in errors
div=error.msg

上面的代码打印出与某个字段相关的所有表单错误,现在的问题是,如果电子邮件字段为空,它会显示两条错误消息“电子邮件字段为必填项”和“无效电子邮件地址”

仅当电子邮件不为空时,我才想评估第二个验证 isEmail() 。如果为空,则只需要显示一条错误消息“需要电子邮件字段”。有什么办法解决这个问题吗?

最佳答案

既然 isEmail() 似乎已经验证了字符串不为空,为什么不去掉 notEmpty() 呢?如果电子邮件留空,“无效的电子邮件地址”足以提供错误消息。

或者一一显示错误

div=errors[0].msg

而不是

for error in errors
div=error.msg

您可以在express-validator中注册一个自定义验证器来执行您想要的操作,但为什么会让您的生活变得复杂:)

关于javascript - 快速验证器 : show only one validation error message of a field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37531458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com