Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. ## Validation Examples
  2. ### Server Side
  3. For PUT and POST requests:
  4. ```js
  5. // validation functions can be in a separate file or not
  6. function validUser(user) {
  7. let validName = typeof user.name == 'string' && user.name.trim() != ''
  8. let validEmail = typeof user.email == 'string' && user.email.match(/([@])/g) != null
  9. let validPassword = typeof user.password == 'string' && user.password.trim() != ''
  10.  
  11. return validName && validEmail && validPassword
  12. }
  13.  
  14. // use validation functions in the routes, for example
  15. router.post('/', (req, res) => {
  16. let post = req.body
  17.  
  18. if (validUser(post)) {
  19. knex('user').insert(post)
  20. .returning('*')
  21. .then (user => {
  22. res.json(user)
  23. })
  24. } else {
  25. res.json({message: 'Invalid user input.'})
  26. }
  27. })
  28. ```
  29. For GET requests (avoid server crashes):
  30. ```js
  31. // create a validation function
  32. function validId(req, res, next) {
  33. let id = req.params.id
  34. if (!isNaN(id)) {
  35. return next()
  36. } else {
  37. res.json({message: 'Invalid ID parameter.'})
  38. }
  39. }
  40.  
  41. // then insert the function as an argument to the get route (middleware)
  42. router.get('/:id', validId, (req, res) => {
  43. let id = req.params.id
  44.  
  45. knex('user').where('id', id).first()
  46. .then(user => {
  47. res.json(user)
  48. })
  49. })
  50. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement