평행코드

<Spring> bean validator 구현하는 방법 본문

Spring

<Spring> bean validator 구현하는 방법

나의 오류는 누군가 겪었던 오류 2023. 12. 11. 21:38

 

pom.xml부분에 bean validator구현하는 라이브러리를 등록해준다

<dependency> 
    <groupId>org.hibernate.validator</groupId> 
    <artifactId>hibernate-validator</artifactId> 
    <version>6.2.5.Final</version> 
</dependency>

 

dto부분

스프링에서 제공하느 어노테이션을 활용하여 validator 를 구현한다

public class Member {
    @NotEmpty(message = "아이디는 반드시 입력하세요")
    @Size(min = 4, message = "아이디는 4글자 이상 입력하세요")
    private String userId;
    @NotEmpty(message = "패스워드는 반드시 입력하세요")
    @Pattern(regexp = "(?=.*?[a-z](?=.*?[A-Z])(?=.*?[~!@#$%^&*()_+-=])[a-zA-Z~!@#$%^&*()_+-=]{8,}"
                , message = "비밀번호는 소문자, 대문자, 특수기호를 포함한 8글자 이상으로 작성하세요")
    private String password;
    private String name;
    private String gender;
    @Min(value = 14, message = "나이는 14세이상 입력하세요")
    @Max(value = 120, message = "120세이상은...ㅠ 죄송합니다")
    private int age;
    @Email
    private String email;
    private String phone;
    private String address;
    private List<String> hobby;
    private Date enrolldate;
}

 

 

jsp부분

spring에서 제공하는 springform태그를 활용하여 jsp를 작성해준다

<springform:form modelAttribute="member" name="memberEnrollFrm" action="${path }/member/enrollMemberEnd.do" method="post">
    <springform:input path="userId" type="text" class="form-control" placeholder="아이디 (4글자이상)" name="userId" id="userId_" />
    <springform:errors path="userId" cssClass="error"/>
    <springform:input path="password"  type="password" class="form-control" placeholder="비밀번호" name="password" id="password_" />
    <springform:errors path="password" cssClass="error"/>
    <input type="password" class="form-control" placeholder="비밀번호확인" id="password2" />
    <springform:input path="name"  type="text" class="form-control" placeholder="이름" name="name" id="userName" />
    <springform:errors path="name" cssClass="error"/>
    <springform:input path="age"  type="number" class="form-control" placeholder="나이" name="age" id="age"/>
    <springform:errors path="age" cssClass="error"/>
    <springform:input path="email"  type="text" class="form-control" placeholder="이메일" name="email" id="email" />
    <springform:errors path="email" cssClass="error"/>
    <springform:input path="phone"  type="tel" class="form-control" placeholder="전화번호 (예:01012345678)" name="phone" id="phone" maxlength="11" />
    <springform:errors path="phone" cssClass="error"/>
    <springform:input path="address"  type="text" class="form-control" placeholder="주소" name="address" id="address"/>
    <springform:errors path="address" cssClass="error"/>
    <springform:select path="gender" class="form-control" name="gender" >
        <springform:option value="">성별</springform:option>
        <springform:option value="M">남</springform:option>
        <springform:option value="F">여</springform:option>
    </springform:select>
    <div class="form-check-inline form-check">
        취미 : &nbsp; 
        <springform:checkbox path="hobby" class="form-check-input" name="hobby" id="hobby0" value="운동"/><label for="hobby0" class="form-check-label">운동</label>&nbsp;
        <springform:checkbox path="hobby" class="form-check-input" name="hobby" id="hobby1" value="등산"/><label for="hobby1" class="form-check-label">등산</label>&nbsp;
        <springform:checkbox path="hobby" class="form-check-input" name="hobby" id="hobby2" value="독서"/><label for="hobby2" class="form-check-label">독서</label>&nbsp;
        <springform:checkbox path="hobby" class="form-check-input" name="hobby" id="hobby3" value="게임"/><label for="hobby3" class="form-check-label">게임</label>&nbsp;
        <springform:checkbox path="hobby" class="form-check-input" name="hobby" id="hobby4" value="여행"/><label for="hobby4" class="form-check-label">여행</label>&nbsp;
    </div>
    <br />
    <input type="submit" class="btn btn-outline-success" value="가입" >&nbsp;
    <input type="reset" class="btn btn-outline-success" value="취소">
</springform:form>

'Spring' 카테고리의 다른 글

<Spring> 트랜잭션처리하기  (0) 2023.12.13
<Spring> 인터셉터(Interceptor)  (0) 2023.12.11
<Spring> 로그 남기기  (2) 2023.12.11
<Spring legacy> Mybatis DB연결하기  (0) 2023.12.10
<Spring legacy> Model  (2) 2023.12.07