signUp.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <script sepup>
  2. import { ref } from 'vue';
  3. const fullname = ref(''), login = ref(''), phone = ref(''), email = ref(''), password = ref('');
  4. let errorForm = ref('');
  5. if(!fullname.value && !login.value && !phone.value && !email.value && !password.value){
  6. const submitForm = async () => {
  7. try {
  8. const {data} = await $fetch('/api/signUp', {
  9. method: 'post',
  10. body: {
  11. fullname: fullname.value,
  12. login: login.value,
  13. phone: phone.value,
  14. email: email.value,
  15. password: password.value
  16. }
  17. })
  18. } catch (error) {
  19. console.log('signUp', error);
  20. }
  21. }
  22. }else{
  23. errorForm.value = 'Заполните все поля'
  24. }
  25. </script>
  26. <template>
  27. <section class="d-flex justify-content-center align-items-center flex-column">
  28. <h1>Регистрация</h1>
  29. <form @submit.prevent="submitForm()" class="d-flex flex-column gap-3">
  30. <p>{{ errorForm }}</p>
  31. <input type="text" placeholder="ФИО" v-model="fullname">
  32. <input type="text" placeholder="Логин" v-model="login">
  33. <input type="text" placeholder="Телифон" v-model="phone">
  34. <input type="email" placeholder="Почта" v-model="email">
  35. <input type="password" placeholder="Пароль" v-model="password">
  36. <button type="submit" class="btn btn-primary">Зарегистрироватся</button>
  37. </form>
  38. </section>
  39. </template>
  40. <style scoped>
  41. form{
  42. width: 450px;
  43. }
  44. </style>