Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. /**
  2. * Validate required fields.
  3. *
  4. * @param {Object} requiredFields
  5. * @param {Object} data
  6. *
  7. * @throws {MissingFieldError}
  8. * @throws {InvalidFieldTypeError}
  9. *
  10. * @returns {Boolean}
  11. */
  12. exports.validateRequiredFields = function( requiredFields, data ) {
  13. for ( var field in requiredFields ) {
  14. if ( !data.hasOwnProperty(field) ) {
  15. throw new MissingFieldError('No ' + field + ' provided');
  16. return false;
  17. }
  18.  
  19. if ( typeof data[field] !== requiredFields[field] ) {
  20. throw new InvalidFieldTypeError(field + ' provided is not correct type [' + requiredFields[field] + ']');
  21. return false;
  22. }
  23. }
  24. return true;
  25. }
  26.  
  27. function MissingFieldError(message) {
  28. this.name = "MissingFieldError";
  29. this.message = (message || "");
  30. }
  31. MissingFieldError.prototype = Error.prototype;
  32.  
  33. function InvalidFieldTypeError(message) {
  34. this.name = "InvalidFieldTypeError";
  35. this.message = (message || "");
  36. }
  37. InvalidFieldTypeError.prototype = Error.prototype;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement