member-signup.blade.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. @extends('views.layouts.master')
  2. <link rel="stylesheet" href="{{ csset('/themes/pro/modunawa/resources/css/user-auth.css') }}">
  3. @section('content')
  4. <!--=====================================
  5. USER FORM PART START
  6. =======================================-->
  7. <section class="user-form-part signup">
  8. <div class="container">
  9. <div class="row justify-content-center">
  10. <div class="col-12 col-sm-10 col-md-12 col-lg-12 col-xl-6">
  11. <!--
  12. <div class="user-form-logo">
  13. <a href="index.html"><img src="images/logo.png" alt="logo"></a>
  14. </div>
  15. -->
  16. <div class="user-form-card">
  17. <div class="user-form-title">
  18. <h2>개인 회원가입</h2>
  19. <p>회원가입을 위해 아래 폼을 작성해 주세요.</p>
  20. </div>
  21. <h5 class="mb-2">회원가입</h5>
  22. <div class="user-form-group">
  23. <form id="signup-form" action="{{ route('member-signup.store') }}" method="POST" class="user-form form-prevent-multiple-submits">
  24. @csrf
  25. <input type="hidden" name="mobile_no" value="{{ session('smsCert.mobile_no') }}">
  26. <div class="form-group">
  27. <input type="text" class="form-control" name="first_name" placeholder="이름을 입력해 주세요.">
  28. @error('mobile_no')
  29. <span class="text-danger"><i class="icon-cancel-circle2 mr-2"></i>{{ $message }}</span>
  30. @enderror
  31. </div>
  32. <div class="form-group">
  33. <input type="email" name="email" class="form-control" placeholder="이메일 주소를 입력해 주세요.">
  34. @error('email')
  35. <span class="text-danger"><i class="icon-cancel-circle2 mr-2"></i>{{ $message }}</span>
  36. @enderror
  37. </div>
  38. <div class="form-group">
  39. <input type="password" id="password-txt" name="password" class="form-control" onchange="check_pw(this)" placeholder="비밀번호를 입력해 주세요.">
  40. </div>
  41. <div class="form-group">
  42. <input type="password" id="password-confirmation-txt" name="password_confirmation" class="form-control" onchange="check_pw(this)" placeholder="비밀번호 한번 더 입력해 주세요.">
  43. @error('password')
  44. <span class="text-danger"><i class="icon-cancel-circle2 mr-2"></i>{{ $message }}</span>
  45. @enderror
  46. </div>
  47. <div class="mb-3 text-center text-danger">
  48. <em id="policy-desc-em">{{ $passwdPolicy['PolicyDesc'] }}</em>
  49. </div>
  50. <h5 class="mb-2">추천인 코드 등록</h5>
  51. <ul class="join_form mb-3">
  52. <li class="recomm">
  53. <input type="text" class="form-control mb-3" name="sgroup_code" placeholder="추천인 코드 등록">
  54. {{-- <span class="btn_wrap">--}}
  55. {{-- <button type="button" class="btn btn_dgray" tabindex="-1">확인</button>--}}
  56. {{-- </span>--}}
  57. <div class="text-center text-danger">
  58. <em>리워드 코드는 가입 이후 추가 수정 및 입력이 불가합니다.</em>
  59. </div>
  60. </li>
  61. </ul>
  62. <div class="form-check mb-3">
  63. <input class="form-check-input" type="checkbox" id="verifiy-ck">
  64. <label class="form-check-label" for="verifiy-ck">약관에 동의합니다.
  65. <a href="{{ route('policy.index') }}" target="_blank">약관보기</a>
  66. </label>
  67. </div>
  68. <div class="form-button">
  69. <button type="submit" class="button-prevent-multiple-submits">
  70. <i class="spinner fa fa-spinner fa-spin"></i>
  71. 확인
  72. </button>
  73. </div>
  74. </form>
  75. <!--
  76. <div class="user-form-divider">
  77. <p>or</p>
  78. </div>
  79. <ul class="user-form-social">
  80. <li><a href="#" class="facebook"><i class="fab fa-facebook-f"></i>Join with facebook</a></li>
  81. <li><a href="#" class="twitter"><i class="fab fa-twitter"></i>Join with twitter</a></li>
  82. <li><a href="#" class="google"><i class="fab fa-google"></i>Join with google</a></li>
  83. <li><a href="#" class="instagram"><i class="fab fa-instagram"></i>Join with instagram</a></li>
  84. </ul>
  85. -->
  86. </div>
  87. </div>
  88. <div class="user-form-remind">
  89. <p>이미 회원이시면 로그인해 주세요.<a href="{{ route('member-login') }}">로그인</a></p>
  90. </div>
  91. <!--
  92. <div class="user-form-footer">
  93. <p>Greeny | &COPY; Copyright by <a href="#">Mironcoder</a></p>
  94. </div>
  95. -->
  96. </div>
  97. </div>
  98. </div>
  99. </section>
  100. <!--=====================================
  101. USER FORM PART END
  102. =======================================-->
  103. @endsection
  104. @push('js')
  105. <script>
  106. $(document).ready(function() {
  107. });
  108. function check_pw($this) {
  109. const pw = $($this).val();
  110. const upper = pw.search(/[A-Z]/ig);
  111. const spece = pw.search(/[`~!@@#$%^&*|₩₩₩'₩";:₩/?]/gi);
  112. let error = false
  113. if (pw.length < passwd_policy['MinLength']) {
  114. iziToast.info({ title: 'Info', message: passwd_policy['MinLength'] + '자리 이상으로 입력해주세요' });
  115. error = true
  116. }
  117. if (passwd_policy['IsSpecialMixed'] && spece < 0) {
  118. iziToast.info({ title: 'Info', message: '특수문자를 혼합하여 입력해주세요' });
  119. error = true
  120. }
  121. if (passwd_policy['IsUpperMixed'] && upper < 0) {
  122. iziToast.info({ title: 'Info', message: '대문자를 혼합하여 입력해주세요' });
  123. error = true
  124. }
  125. if (error === true) {
  126. $('#policy-desc-em').text(passwd_policy['PolicyDesc'])
  127. return false
  128. }
  129. if ( $('#password-txt').val() === $('#password-confirmation-txt').val() ) {
  130. $('#policy-desc-em').text('비밀번호가 정상적으로 입력되었습니다.')
  131. }
  132. return true;
  133. }
  134. $('#signup-form').on('submit', function(event) {
  135. event.preventDefault();
  136. if ($('#verifiy-ck').is(':checked')) {
  137. this.submit()
  138. return
  139. }
  140. iziToast.info({ title: 'Info', message: "@lang('이용약관에 동의하셔야 합니다')" });
  141. return false
  142. });
  143. const passwd_policy = @json($passwdPolicy);
  144. </script>
  145. @endpush