본문 바로가기
Thymeleaf

15. Thymeleaf의 유효성 검증 - 2

by leo2114 2024. 2. 24.
반응형

사용자 입력 확인

사용자 입력 확인은 웹 애플리케이션에서 사용자가 제출한 데이터의 유효성을 검증하고 처리하는 과정입니다. 이를 통해 사용자가 애플리케이션에 유효한 데이터를 제공하도록 보장할 수 있습니다.

1. 클라이언트 측 유효성 검증

웹 브라우저에서 입력 폼을 제출하기 전에 클라이언트 측에서 간단한 유효성 검증을 수행할 수 있습니다. JavaScript를 사용하여 필수 입력 필드, 데이터 형식, 길이 등을 확인할 수 있습니다.

<form action="/submitForm" method="post" onsubmit="return validateForm()">
    <label for="username">Username:</label>
    <input type="text" id="username" name="username" required>
    <button type="submit">Submit</button>
</form>

<script>
function validateForm() {
    var username = document.getElementById("username").value;
    if (username.length < 5) {
        alert("Username must be at least 5 characters long");
        return false;
    }
    return true;
}
</script>

2. 서버 측 유효성 검증

클라이언트 측 유효성 검증은 사용자가 스크립트를 비활성화하거나 우회할 수 있으므로 반드시 서버 측에서도 유효성을 검증해야 합니다. 주로 백엔드 프레임워크에서 제공하는 기능을 사용하여 서버 측 유효성 검증을 수행합니다.

@Controller
public class FormValidationController {

    @PostMapping("/submitForm")
    public String submitForm(@RequestParam String username, Model model) {
        if (username.length() < 5) {
            model.addAttribute("error", "Username must be at least 5 characters long");
            return "form";
        }
        // 유효한 경우 데이터 처리 로직 수행
        return "success";
    }
}

 

위의 예제에서는 Spring MVC를 사용하여 서버 측 유효성 검증을 수행하는 방법을 보여줍니다. 컨트롤러에서 입력된 데이터를 검증하고 오류가 발생한 경우 오류 메시지를 모델에 추가하여 사용자에게 다시 폼을 표시합니다.

3. 코드 예제

다음은 사용자 입력 확인을 위한 코드 예제입니다.

<!DOCTYPE html>
<html>
<head>
    <title>Form Validation</title>
</head>
<body>
    <h1>Form Validation</h1>
    <form action="/submitForm" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required>
        <span th:if="${error}" th:text="${error}"></span><br>
        
        <button type="submit">Submit</button>
    </form>
</body>
</html>
@Controller
public class FormValidationController {

    @GetMapping("/form")
    public String showForm() {
        return "form";
    }

    @PostMapping("/submitForm")
    public String submitForm(@RequestParam String username, Model model) {
        if (username.length() < 5) {
            model.addAttribute("error", "Username must be at least 5 characters long");
            return "form";
        }
        // 유효한 경우 데이터 처리 로직 수행
        return "success";
    }
}

 

위의 코드 예제에서는 사용자가 제출한 폼 데이터의 유효성을 검증하고 오류 메시지를 표시하는 방법을 보여줍니다. 사용자 입력 확인을 통해 올바른 데이터 처리를 보장할 수 있습니다.

반응형