0

SpringWebFlow를 사용하여 포틀릿을 만들고 있는데,이 포틀릿에는 일부 입력 필드, 일부 드롭 다운 및 몇 개의 라디오 버튼이 있습니다. BeanValidation과 @NotNull 및 @NotEmpty와 같은 특수 효과를 사용했습니다. 드롭 다운 및 입력 필드, 하지만 주석을 위해 잘 작동하는 내 JSP에서의 RadioButton, 을 위해 작동하지 않는이 코드 내 PageBean에서라디오 버튼에 대해 BeanValidation이 작동하지 않습니다.

<aui:field-wrapper name="gender"> 
    <aui:input inlineLabel="right" name="gender" type="radio" value="male" label="male" checked="${surveyBean.gender == 'male' ? 'true' : 'false'}"/> 
    <aui:input inlineLabel="right" name="gender" type="radio" value="female" label="female" checked="${surveyBean.gender == 'female' ? 'true' : 'false'}" /> 
</aui:field-wrapper> 

을했습니다 나는 다음과 같은 코드를했습니다

@NotNull 
@NotEmpty 
public String getGender() 
{ 
    return gender; 
} 

사용자가 비어 있거나 선택하지 않은 필드를 남기지 않아야합니다. 입력 필드 및 드롭 다운 Validation.properties 파일이 비어있는 경우 해당 오류 메시지가 표시됩니다. 라디오 버튼의 경우 @NotNull 및 @NotEmpty가 작동하지 않습니다. 그들은 유효하지 않다 그래야 그들은 선정되지 않는다 사용자는 다음 페이지에 갈 수있다 ...

당신의 옳은 방향으로 저를 인도하십시오 누구?

답변

0

Backing 빈에 대해 설정되는 성별 값은 무엇입니까? 빈 검증 (Bean Validation)은 데이터를 가져 오는 위치에서 신경 쓰지 않습니다. 드롭 다운과 라디오 버튼에 대해서는 아무것도 모릅니다. 흥미로운 점은 유효성 검증이 호출 될 때 bean에 다른 값이 있는지 여부입니다. 예외가없고 제약 조건 위반이 없다면 나는 성 (gender)이 null도 아니고 공백도 아닌 것으로 가정합니다. 예를 들어 공백이 될 수 있습니다. @NotEmptyNotBlank 사이에 차이가 있습니다. 후자는 공백 문자도 검사합니다.

+0

라디오 버튼을 선택하지 않으면 값이 ** null **로 설정됩니다. 나는 값이 null이고 'isValid'메서드가 false를 반환하는 값을 확인하기 위해 사용자 정의 주석을 작성했습니다. 문제는 MessageInterpolator 인 것처럼 보입니다. 어디에서나 null 포인터 예외가 발생합니다. BeanValidation이 가능한지 알고 있습니까? 라디오 버튼이 같은 이름과 ID의 숫자가 2 개인 경우 오류 메시지를 배치 할 위치를 식별 할 수 없습니까? 아마도 다른 양식 필드가 완벽하게 유효성이 검사되는 것과 같은 다른 행동에 대한 이유일까요? 감사합니다 – user3367569

+0

내가 문제의 근원을 발견했다고 생각, 여기에 새로운 질문을 게시 - http://stackoverflow.com/questions/25831742/radio-button-field-not-found-in-portletrequest-getparametermap – user3367569