the line 22 of validate contains the following
if (!newDoc[field]) forbidden(message);
that means that if the field evalueates to false (like 0, 0.0, "" or false) then it will return forbidden
the line should be
if (typeof(newDoc[field]) === "undefined") forbidden(message);