3

登録フォームとログイン フォームには、サーバー側の検証ロジックが必要です。クライアントの入力ブロックごとにメッセージを表示する最良の方法を考え出します。

お申し込みの流れ:

  1. クライアント側フォーム送信
  2. ノードでの検証
  3. ステップ 1 でフォームをレンダリングしたビューにリダイレクトします。

フォーム入力メッセージを表示する方向に傾いてreq.flash()いますが、おそらくこれにはもっと OOP アプローチがありますか?

4

2 に答える 2

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'] };

私のエラー ミックスインはすべてのエラーをレンダリングし、フィールド ミックスインはエラー クラスを追加するので、失敗したフィールドに赤い境界線を追加できます。

于 2012-05-09T11:59:07.350 に答える