validation.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. let validator = {
  2. ingredient: {
  3. name: function(ingName, createBanner = true){
  4. if(ingName.length < 2){
  5. if(createBanner){
  6. banner.createError("Ingredient name must contain at least 2 characters");
  7. }
  8. return false;
  9. }
  10. return true;
  11. },
  12. category: function(ingCategory, createBanner = true){
  13. if(ingCategory.length < 3){
  14. if(createBanner){
  15. banner.createError("Category name must contain at least 3 characters");
  16. }
  17. return false;
  18. }
  19. return true;
  20. },
  21. quantity: function(num, createBanner){
  22. if(num < 0){
  23. if(createBanner){
  24. banner.createError("Quantity cannot be a negative number");
  25. }
  26. return false;
  27. }
  28. return true;
  29. },
  30. unit: (ingUnit)=>{
  31. return true;
  32. },
  33. //Check all parts of ingredient, return true if all pass
  34. //Quantity passed seperately and optional
  35. all: function(ingObject, quantity = 0, createBanner = true){
  36. let nameCheck = this.name(ingObject.name, createBanner);
  37. let categoryCheck = this.category(ingObject.category, createBanner);
  38. let unitCheck = this.unit(ingObject.unitType, createBanner);
  39. let quantityCheck = this.quantity(Number(quantity), createBanner);
  40. if(!nameCheck || !categoryCheck || !quantityCheck || !unitCheck){
  41. return false;
  42. }
  43. return true;
  44. }
  45. }
  46. }