登録フォームとログイン フォームには、サーバー側の検証ロジックが必要です。クライアントの入力ブロックごとにメッセージを表示する最良の方法を考え出します。
お申し込みの流れ:
- クライアント側フォーム送信
- ノードでの検証
- ステップ 1 でフォームをレンダリングしたビューにリダイレクトします。
フォーム入力メッセージを表示する方向に傾いてreq.flash()
いますが、おそらくこれにはもっと OOP アプローチがありますか?
フォーム データを検証する検証ミドルウェアがあります。検証が失敗した場合にどのフォームを再レンダリングするかをミドルウェアに指示できます。ミドルウェアには、フィールドの名前とフィールドに含まれるエラーの配列を持つエラー オブジェクトが含まれます。
私のフォームは次のようになります。
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'] };
私のエラー ミックスインはすべてのエラーをレンダリングし、フィールド ミックスインはエラー クラスを追加するので、失敗したフィールドに赤い境界線を追加できます。