0
Как я могу выполнить validate
по пути Mongoose, но возвращать более подробное сообщение об ошибке? В приведенном ниже примере есть четыре возможных ошибки, которые я хотел бы вернуть. Хотя я их регистрации на консоли, я предпочел бы отправить их обратно, как ошибка, а не просто «Invalid размер файла»:Verbose ошибки проверки Мангуста?
schema.path('size').validate(function (size) {
if (typeof size == 'undefined' || size == null) { console.log('no size supplied'); return false; }
if (typeof size != 'number') { console.log('size not a number'); return false; }
if (size < 0) { console.log('size is negative'); return false; }
if (Math.floor(size) != Number(size)) { console.log('size is decimal'); return false; }
return true;
}, 'Invalid file size');
Прохладный! Но должны ли последующие оценки терпеть неудачу на «истинных» или «ложных»? Например, вы возвращаете ошибку «размер не число», когда 'typeof size == 'number''. –
Ошибка проверки подтверждается функцией, возвращающей 'false'. Я перевернул каждую из ваших булевых проверок, чтобы сделать этот пример. Поэтому, если 'typeof size == 'number'' возвращает' false', тогда 'size' не является числом, и вы получаете ошибку проверки размера« не число ». – JohnnyHK
Ах, ты прав. Двойной отрицательный для первого предмета бросил меня на петлю. Любите цепочку. :) –