검증인


Validator 자체가 인터셉터 인터페이스를 구현하므로 인터셉터이기도 하며 구성 방법은 인터셉터와 완전히 동일합니다. 다음은 유효성 검사기의 예입니다.

public class LoginValidator 확장 유효성 검사기 {
protected void verify(Controller c) { verifyRequiredString("name", "nameMsg", "Please enter your username"); verifyRequiredString("pass", " passMsg" , "비밀번호를 입력하세요");
}
protected void handlerError(Controller c) { c.keepPara("name");
c.render("login.html");
}
}

protected void validator (Controller c) 메서드에서는 백엔드 검증을 위한 일련의 메서드인 verifyXxx(…)를 호출할 수 있습니다. protected void handlerError(Controller c) 메서드에서는 c.keepPara(…) 메서드를 호출할 수 있습니다. 원래 입력 값을 유지하기 위해 제출된 값을 페이지에 다시 전달하려면 c.render(…) 메서드를 호출하여 해당 페이지를 반환할 수도 있습니다. handlerError(Controller c)는 확인이 실패할 때만 호출된다는 점에 유의하세요.

위 코드의 handlerError 메소드 중 keepXxx 메소드를 사용하여 데이터를 페이지 형태로 유지했다가 다시 페이지로 전달하므로, 사용자가 검증을 통과한 양식 필드를 반복적으로 입력할 필요가 없습니다. 모델 객체가 전달되면 keepModel을 사용하여 사용자가 입력한 데이터를 유지할 수 있습니다.