使用Express在Node.js应用程序中显示表单验证错误的最佳方法?

时间:2012-05-02 14:32:32

标签: node.js express

我们的注册和登录表单需要服务器端验证逻辑。我想提出在客户端上为每个输入块显示消息的最佳方法。

申请流程:

  1. 客户端表单提交
  2. 节点验证
  3. 重定向到在步骤1中呈现表单的视图。
  4. 我倾向于req.flash()来显示表单输入消息,但也许有更多的OOP方法呢?

2 个答案:

答案 0 :(得分:1)

我有一个验证表单数据的验证中间件。如果验证失败,我可以告诉中间件重新呈现什么形式,它将有一个带有字段名称和字段错误数组的错误对象。

我的表单最终看起来像这样:

include ../mixins/form-helpers

mixin errors()

form(action=url('messages_create'), method='post')

  mixin csrf()

  fieldset

    legend contact

    mixin field('text', 'subject', 'Subject')
    mixin field('textarea', 'message', 'Message')

  .form-actions
    mixin submit('Send')

如果我在没有主题和消息的情况下发布此表单,我会设置以下对象。

var errors = { subject: ['is required'], message: ['is required'] };

我的错误mixin将呈现所有错误,我的字段mixin将添加错误类,因此我可以为失败的字段添加红色边框。

答案 1 :(得分:0)

结帐Validity。它专门用于附加验证和错误,以形成输入字段并适当地呈现它们。