Guest User

Untitled

a guest
Jul 29th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. ```js
  2. const form = new Form({
  3. children: [
  4. {
  5. name: 'username',
  6. validate: validation(
  7. validation.required(),
  8. validation.async((value) =>
  9. mockServerCall(2000, () => value === 'john' ? 'username is taken' : null)))
  10. },
  11. {
  12. name: 'password',
  13. validate: validation(
  14. validation.required(),
  15. validation.async((value) =>
  16. mockServerCall(1000, value => value && value.length < 6 ? 'invalid password' : null)))
  17. }
  18. ]
  19. });
  20.  
  21. const username = form.get('username');
  22. const password = form.get('password');
  23.  
  24. username.onChange('john'); // initiates call 1 to the server
  25.  
  26. console.log(username.hasErrors); // false
  27. console.log(username.errors); // null
  28. console.log(password.hasErrors); // false
  29. console.log(password.errors); // null
  30. console.log(form.hasErrors); // false
  31. console.log(form.errors); // null
  32.  
  33. password.onChange('123'); // initiates call 2 to the server
  34.  
  35. console.log(username.hasErrors); // false
  36. console.log(username.errors); // null
  37. console.log(password.hasErrors); // false
  38. console.log(password.errors); // null
  39. console.log(form.hasErrors); // false
  40. console.log(form.errors); // null
  41.  
  42. // ... waiting asynchronously
  43. // a bit later, before responses 1 and 2 come from the server
  44.  
  45. console.log(username.hasErrors); // false
  46. console.log(username.errors); // null
  47. console.log(password.hasErrors); // false
  48. console.log(password.errors); // null
  49. console.log(form.hasErrors); // false
  50. console.log(form.errors); // null
  51.  
  52. // ... waiting asynchronously
  53. // later after reponse 2 comes from the server
  54.  
  55. console.log(username.hasErrors); // false
  56. console.log(username.errors); // null
  57. console.log(password.hasErrors); // true
  58. console.log(password.errors); // ['invalid password']
  59. console.log(form.hasErrors); // true
  60. console.log(form.errors); // ['invalid password']
  61.  
  62. // ... waiting asynchronously
  63. // later after reponse 1 comes from the server
  64.  
  65. console.log(username.hasErrors); // true
  66. console.log(username.errors); // ['username is taken']
  67. console.log(password.hasErrors); // true
  68. console.log(password.errors); // ['invalid password']
  69. console.log(form.hasErrors); // true
  70. console.log(form.errors); // ['username is taken', 'invalid password']
  71. ```
Add Comment
Please, Sign In to add comment