Signup.js 4.88 KB
Newer Older
한규민's avatar
한규민 committed
1
import styles from "./signup.module.scss";
2
import { useState } from 'react';
한규민's avatar
한규민 committed
3
4

const Signup = () => {
5
6

    const [userText, setUserState] = useState({
한규민's avatar
한규민 committed
7
        userID: '',
8
        userName: '',
한규민's avatar
한규민 committed
9
10
        userBirthday: '',
        userMbnum: '',
11
        userPassword: '',
한규민's avatar
한규민 committed
12
        userRePassword: '',
13
14
15
16
17
18
19
20
21
    })

    const handleUserOnChange = (e) => {
        setUserState({
            ...userText,
            [e.target.name]: e.target.value
        })
    }

22
23
24
25
26
27
28
29
30
    // const handleOnInput = (e) => {
    //     if (el.value.length > e.target.attributes.docu) {
    //         el.value
    //             = el.value.substr(0, maxlength);
    //     }
    // }

    const comparePassword = () => {
        if (userText.userPassword !== userText.userRePassword) {
한규민's avatar
한규민 committed
31
32
33
            return alert("비밀번호가 같지 않습니다.")
        }
    }
34

한규민's avatar
한규민 committed
35
    return (
한규민's avatar
한규민 committed
36
        <form className={`d-flex col-md-6 col-12 justify-content-center`}>
한규민's avatar
한규민 committed
37
            <div className="d-flex flex-column">
38
                {console.log(userText)}
한규민's avatar
한규민 committed
39
                <div className={styles.inputContent}>
40
                    <label className={styles.signupLabel}>아이디</label>
한규민's avatar
한규민 committed
41
42
43
44
                    <div className="d-flex col-md-auto">
                        <input className={styles.input} type="text" name="userID" id="userID" placeholder="8자리입력" onChange={handleUserOnChange} maxLength="8" minlength="8" required />
                        <button type="button" className={`btn btn-primary rounded-2 mt-2 ${styles.butterYellowAndBtn} ${styles.btnHover}`} data-bs-toggle="modal" data-bs-target="#exampleModal">중복확인</button>
                    </div>
45
                </div>
한규민's avatar
한규민 committed
46
                <div className={styles.inputContent}>
47
                    <label className={styles.signupLabel}>별명</label>
48
                    <input className={`${styles.input} ${styles.inputSize}`} type="text" name="userName" id="userName" placeholder="10자리 이내" onChange={handleUserOnChange} maxLength="10" required />
49
                </div>
한규민's avatar
한규민 committed
50
                <div className={styles.inputContent}>
51
                    <label className={styles.signupLabel}>생년월일</label>
52
                    <input className={`${styles.input} ${styles.inputSize} ${styles.input.placeholder}`} type="number" name="userBirthday" id="userBirthday" placeholder="6자리(예시: 991225)" onChange={handleUserOnChange} maxLength="6" required />
53
                </div>
한규민's avatar
한규민 committed
54
                <div className={styles.inputContent}>
55
                    <label className={styles.signupLabel}>휴대폰 번호</label>
56
                    <input className={`${styles.input} ${styles.inputSize}`} type="number" name="userMbnum" id="userMbnum" placeholder="-없이 11자리 입력" onChange={handleUserOnChange} required />
57
                </div>
한규민's avatar
한규민 committed
58
                <div className={`${styles.inputContent}`}>
59
                    <label className={styles.signupLabel}>비밀번호</label>
60
                    <input className={`${styles.input} ${styles.inputSize}`} type="text" name="userPassword" id="password" placeholder="8자리 입력" onChange={handleUserOnChange} maxLength="8" minlength="8" required />
61
                </div>
한규민's avatar
한규민 committed
62
63
64
65
                <div className={styles.inputContent}>
                    <label className={styles.signupLabel}>비밀번호 확인</label>
                    <div className="d-flex col-md-auto">
                        <input className={styles.input} type="text" name="userRePassword" id="userRePassword" placeholder="8자리 입력" onChange={handleUserOnChange} maxLength="8" minlength="8" required />
66
                        <button type="button" className={`rounded-2 mt-2 ${styles.butterYellowAndBtn} ${styles.btnHover}`} onClick={comparePassword}>중복확인</button>
한규민's avatar
한규민 committed
67
68
69
                    </div>
                </div>

70
                <input className={`rounded-2 my-4 py-2 ${styles.butterYellowAndBtn} ${styles.btnHover}`} type="submit" value="가입하기" />
한규민's avatar
한규민 committed
71
            </div>
72

한규민's avatar
한규민 committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
            {/* 아이디 중복 확인 모달창 */}
            <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title" id="exampleModalLabel">아이디 중복 확인</h5>
                            <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                        </div>
                        <div class="modal-body">
                             아이디는 사용가능합니다.
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
                        </div>
                    </div>
                </div>
89
            </div>
한규민's avatar
한규민 committed
90
91
92
        </form>


한규민's avatar
한규민 committed
93
94
95
96
    )
}

export default Signup