Guest User

Untitled

a guest
Apr 8th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. // Понадобится и при регистрации, и при авторизации, поэтому вынесено в отдельную функцию.
  2. function isUserExists(userName, userEmail) {
  3. const users = localeStorage.getObj('users');
  4.  
  5. for (let user of users) {
  6. if (user.username.toLowerCase() === userName.toLowerCase() || user.email === userEmail) {
  7. return true;
  8. }
  9. }
  10.  
  11. return false;
  12. }
  13.  
  14. function checkRegister() {
  15. removeErrors();
  16.  
  17. const userNameElement = document.getElementsByClassName('register__username')[0],
  18. userEmailElement = document.getElementsByClassName('register__email')[0],
  19. userPasswordElement = document.getElementsByClassName('register__password')[0],
  20. userPasswordRepeat = document.getElementsByClassName('register__password-repeat')[0].value,
  21. agreement = document.getElementsByClassName('register__agree')[0].checked,
  22. userName = userNameElement.value,
  23. userEmail = userEmailElement.value,
  24. userPassword = userPasswordElement.value,
  25. userNameLengthMin = userNameElement.getAttribute('minlength'),
  26. emailLengthMin = userEmailElement.getAttribute('minlength'),
  27. passwordLengthMin = userPasswordElement.getAttribute('minlength');
  28.  
  29. if (userName.length <= userNameLengthMin) {
  30. // Показать ошибку о том, что имя пользователя слишком короткое.
  31. console.log(`Too short user name! Must be ${userNameLengthMin} characters at least, ${userName.length} accepted.`);
  32. return false;
  33. }
  34.  
  35. if (userEmail.length <= emailLengthMin) {
  36. // Показать ошибку о том, что адрес эл. почты слишком короткий.
  37. console.log(`Too short email address! Must be ${emailLengthMin} characters at least, ${userEmail.length} accepted.`);
  38. return false;
  39. }
  40.  
  41. if (userPassword.length <= passwordLengthMin) {
  42. // Показать ошибку о том, что пароль слишком короткий.
  43. console.log(`Too short password! Must be ${passwordLengthMin} characters at least, ${userPassword.length} accepted.`);
  44. return false;
  45. }
  46.  
  47. if (!agreement) {
  48. // Показать ошибку о том, что флажок 'agreement' не установлен.
  49. console.log('You didn\'t confirm your agreement!');
  50. return false;
  51. }
  52.  
  53. if (userPassword !== userPasswordRepeat) {
  54. // Показать ошибку о том, что пароли не одинаковы.
  55. console.log('Passwords aren\'t equal!');
  56. return false;
  57. }
  58.  
  59. // Если поля заполнены правильно, то ищем полученные данные в базе данных.
  60. if (!isUserExists(userName, userEmail)) {
  61. // Регистрация пользователя.
  62. console.log('You can join us! :)');
  63. return true;
  64. } else {
  65. // Показать ошибку о том, что пользователь уже зарегистрирован.
  66. console.log('You have been already registered! Please, sign in.');
  67. return false;
  68. }
  69. }
Add Comment
Please, Sign In to add comment