2017-11-29 42 views
0

有効なURLを入力していないときにスキーマが失敗するにもかかわらず、エラーは発生しません。マングース検証ツールでisURLの検証が無効

フロントエンドからのデータが正しく送信されていることを確認できます。それは道を通ってモングースに渡されています(下記参照)。

Hosts.Create(req.body、func ...)関数からコールバックにErrがありません。

これはスキーマです。バリデーター:[validators.isURL()]はメッセージを生成していません。

var HostSchema = new Schema({ 
domain: { 
    type: String, 
    required: [ true, 'A Domain is required' ], 
// This is the broken validator 
    validator: [ validators.isURL({message: 'Must be a Valid URL', protocols: ['http','https','ftp'], require_tld: true, require_protocol: true}) ] 
}, 
pkg: { 
    type: String, 
    required: [ true, 'Hosting Package is required' ] 
}, 
ssl: { type: Boolean, required: true }, 
maint: { type: Boolean, required: true }, 
... 

});

マイルートファイル:

// Process Add Cx 
hosting.post('/add', function(req, res, next) { 

// If No Request data. 
if (req.body.constructor === Object && Object.keys(req.body).length === 0) { 
    ... Send View if no form data ... 

} else { // Proccess Data 

    // Create new User 
    Hosts.create(req.body, function(err, host) { 
     if (err) return res.json({success: false, message: Hosts.MongoErrors(err)}); 
     // If everything was sucessful! Yay! 
     res.json({success: true, message: 'Host Successfully Saved!'}); 
    }); 

} 

答えて

0

構文は次のようなものです:

validate: { 
    validator: value => validator.isURL(value, { protocols: ['http','https','ftp'], require_tld: true, require_protocol: true }), 
    message: 'Must be a Valid URL' 
} 
+0

ハハハ、ありがとう!これが他の人を助けると確信しています。ドキュメントはあまりにも明確ではありません。 –

+0

「値」はどこから来ますか? –

0

これは溶液でした。

domain: { 
    type: String, 
    required: [ true, 'A Domain is required' ], 
    validate: validators.isURL({message: 'Must be a Valid URL', protocols: ['http','https','ftp'], require_tld: true, require_protocol: true }) 
}, 
関連する問題