2016-05-30 15 views
1

私はexpressjsとexpress-validatorの初心者です。私は登録フォームを持っていて、ユーザーは電子メールアドレスを提出しなければなりません(他のフィールドと共に)。 「表現・バリ」と電子メールフィールドのための私の検証ルールはexpress-validator:フィールドの妥当性検査エラーメッセージを1つだけ表示

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

のように見えると私は

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

のようなエラーが出関連付けられたすべてのフォームのエラーを上記のコードの印刷を印刷するためにヒスイを使用していますフィールドが空になっている場合、「電子メールフィールドが必要です」と「無効な電子メールアドレス」というエラーメッセージが表示されます。

2番目の検証isEmail()を評価したいのは、空ではない。空の場合は、 'Email field is required'というエラーメッセージを1つだけ表示する必要があります。これには何か解決策はありますか?

+0

OPが見つかりましたtehirの回答はこちら:https://github.com/ctavan/express-validator/issues/235 –

答えて

0

isEmail()はすでに文字列が空でないことを検証しているようですので、notEmpty()を取り除くだけでいいですか? 「無効なメールアドレス」は、メールが空白の場合にエラーメッセージが表示されるのに十分な情報です。

や表示エラー

div=errors[0].msg 

代わりの

for error in errors 
    div=error.msg 

で一つずつあなたは何をしたいん急行・バリでカスタムバリデータを登録するが、なぜあなたの人生を複雑にし得る:)

関連する問題