Validation 에러 추가 질의
- 작성자 :
- 이*복
- 작성일 :
- 2011-02-22 08:54:42
- 조회수 :
- 2,351
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
<CpaiValidator 자바파일>
public void validate(Object target, Errors errors) {
CpaiVO cpaiVO = (CpaiVO)target;
if(isEmptyOrWhitespace(cpaiVO.getJupa())){ errors.rejectValue("Jupa", "required");
}
// 이부분이 자료를 입력 안해서 에러가 발생하는데
그러면 화면에 에러 발생 메세지가 나타나면서 정지되는데
제 생각에는
if (bindingResult.hasErrors()) {
이부분에서 에러를 잡아서 다음 로직을 수행해야 할텐데 안된네요
<바로 전 질문의 답변내용입니다>
오류 메시지 처리 부분은 JSP 상에서 <form:errors path="항목" />와 같이 tag lib를 추가하시면 validation 에러 메시지를 확인하실 수 있습니다.
제궁금점은
1. errors.rejectValue("Jupa", "required"); // 에러를 발생시키고
2. if (bindingResult.hasErrors()) { // 이 부분에서 발생된 에러에 대한 처리를 하는것이 아닌가 하는 점입니다.
3. <form:errors path="항목" /> 이부분은 구체적으로 어떻게 구현되는지 예제를 구하기 힘듭니다. 다운로드도 잘 안되고요
부탁합니다.
<콘트롤러 파일>
import kr.go.kcc.icrs.cp.au.service.impl.CpaiValidator;
private CpaiValidator cpaiValidator; // 선언
@RequestMapping(value="/cp/ai/*Inr.do")
public String insertCpai0471(@ModelAttribute("prsnInfoVO") CpaiVO cpaiVO,
BindingResult bindingResult, SessionStatus status,
Model model) throws Exception {
cpaiValidator.validate(cpaiVO, bindingResult);
if (bindingResult.hasErrors()) {
System.out.println("Error:-->"+bindingResult.getFieldError());
return "/cp/ai/Cpai0471t2";
}
public void validate(Object target, Errors errors) {
CpaiVO cpaiVO = (CpaiVO)target;
if(isEmptyOrWhitespace(cpaiVO.getJupa())){ errors.rejectValue("Jupa", "required");
}
// 이부분이 자료를 입력 안해서 에러가 발생하는데
그러면 화면에 에러 발생 메세지가 나타나면서 정지되는데
제 생각에는
if (bindingResult.hasErrors()) {
이부분에서 에러를 잡아서 다음 로직을 수행해야 할텐데 안된네요
<바로 전 질문의 답변내용입니다>
오류 메시지 처리 부분은 JSP 상에서 <form:errors path="항목" />와 같이 tag lib를 추가하시면 validation 에러 메시지를 확인하실 수 있습니다.
제궁금점은
1. errors.rejectValue("Jupa", "required"); // 에러를 발생시키고
2. if (bindingResult.hasErrors()) { // 이 부분에서 발생된 에러에 대한 처리를 하는것이 아닌가 하는 점입니다.
3. <form:errors path="항목" /> 이부분은 구체적으로 어떻게 구현되는지 예제를 구하기 힘듭니다. 다운로드도 잘 안되고요
부탁합니다.
<콘트롤러 파일>
import kr.go.kcc.icrs.cp.au.service.impl.CpaiValidator;
private CpaiValidator cpaiValidator; // 선언
@RequestMapping(value="/cp/ai/*Inr.do")
public String insertCpai0471(@ModelAttribute("prsnInfoVO") CpaiVO cpaiVO,
BindingResult bindingResult, SessionStatus status,
Model model) throws Exception {
cpaiValidator.validate(cpaiVO, bindingResult);
if (bindingResult.hasErrors()) {
System.out.println("Error:-->"+bindingResult.getFieldError());
return "/cp/ai/Cpai0471t2";
}
A
안녕하세요.. 이성복님..
1. errors.rejectValue("Jupa", "required"); // 에러를 발생시키고
=> 이 부분은 에러를 발생시키는 역할을 하는 것이 아니라..
Validation 오류에 대한 메시지를 Errors에 추가해 놓는 것입니다.
별도의 Exception을 throw하는 개념은 아닙니다.
2. if (bindingResult.hasErrors()) { // 이 부분에서 발생된 에러에 대한 처리를 하는것이 아닌가 하는 점입니다.
=> 1번에서 누적된 오류가 있으면.. 단순히 true를 리턴하고..
오류가 없으면.. false를 리넡하는 것입니다.
별도의 에러 처리를 하는 부분이 아닙니다.
3. <form:errors path="항목" /> 이부분은 구체적으로 어떻게 구현되는지 예제를 구하기 힘듭니다. 다운로드도 잘 안되고요
=> 위 2번에 조건이 true이면.. 즉 validation 오류가 누적되어 있다면..
다시 등록페이지(또는 수정페이지 - 현재 실행되던.. 이전 페이지)로 다시 보내고..
-> return "등록페이지..."; ===> 올려주신 예의 경우는 "/cp/ai/Cpai0471t2"
그 페이지에.. 오류의 내용을 <form:errors ../>를 통해 해당 위치에 출력시키는 역할입니다.
이전 답변에 드린 가이드를 다시 한번 보시면.. 위 내용들이 기술되어 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
1. errors.rejectValue("Jupa", "required"); // 에러를 발생시키고
=> 이 부분은 에러를 발생시키는 역할을 하는 것이 아니라..
Validation 오류에 대한 메시지를 Errors에 추가해 놓는 것입니다.
별도의 Exception을 throw하는 개념은 아닙니다.
2. if (bindingResult.hasErrors()) { // 이 부분에서 발생된 에러에 대한 처리를 하는것이 아닌가 하는 점입니다.
=> 1번에서 누적된 오류가 있으면.. 단순히 true를 리턴하고..
오류가 없으면.. false를 리넡하는 것입니다.
별도의 에러 처리를 하는 부분이 아닙니다.
3. <form:errors path="항목" /> 이부분은 구체적으로 어떻게 구현되는지 예제를 구하기 힘듭니다. 다운로드도 잘 안되고요
=> 위 2번에 조건이 true이면.. 즉 validation 오류가 누적되어 있다면..
다시 등록페이지(또는 수정페이지 - 현재 실행되던.. 이전 페이지)로 다시 보내고..
-> return "등록페이지..."; ===> 올려주신 예의 경우는 "/cp/ai/Cpai0471t2"
그 페이지에.. 오류의 내용을 <form:errors ../>를 통해 해당 위치에 출력시키는 역할입니다.
이전 답변에 드린 가이드를 다시 한번 보시면.. 위 내용들이 기술되어 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.