struts 2 데이터 검증
18772 단어 struts 2 학습
데 이 터 를 검증 할 때 전단 검증 이나 후 단 검증 을 선택 할 수 있 고 전단 은 자바 스 크 립 트 를 사용 하 며 백 엔 드 는 struts 를 사용 하 는 방법 을 선택 할 수 있 습 니 다.전단 을 사용 하 든 백 엔 드 를 사용 하 든 어떤 방법 을 한정 하거나 모든 방법 을 검증 할 수 있다.
action 을 작성 하여 검증 합 니 다.
public void validateAdmin() {
if (!account.equals("123")) {
//
this.addFieldError("accountError", " ");
} else if (passwd.equals("123")) {
this.addFieldError("pwdError", " ");
}
}
<result name="input">*.jspresult>
validate()
은 action 의 모든 방법 이 효과 적 이 고 자신 이 정의 하 는 방법 이 없 을 때 action 류 에 하나의 execute 방법 만 있 습 니 다.그러면 vaidate 방법 은 execute 방법 을 검증 하고 검증 을 통과 해 야 execute 방법 을 실행 할 수 있 습 니 다.그렇지 않 으 면 실행 하지 않 고 input 보기 페이지 로 바로 이동 합 니 다.validate()
방법 을validateMethodName()
으로 수정 합 니 다.그 중에서 MethodName 은 자신 만 의 정의 가 있 습 니 다.
action 에서 검증 할 때 오류 정 보 를 Error 에 넣 었 습 니 다.Error 는 map 형식 이 고 키 쌍 을 넣 었 습 니 다.
을 사용 하여 인증 방법의 시작 을 정의 하면 오류 정보(Error 의 value 값)를 페이지 에 표시 합 니 다.<s:fielderror/>
첫 번 째 방식 은 오류 정 보 를 이 지역 에 직접 표시 할 수 있 고 구체 적 인 오 류 를 지정 하지 않 아 도 모든 오류 정 보 를 표시 할 수 있다.두 번 째 방식 은 특정한 오류 정 보 를 특정한 위치 에 선택적으로 표시 하고 검증 할 때 검증 오류 가 발생 하면 실행 을 중단 합 니 다.즉,첫 번 째 검 증 된 오류 정보 만 표시 하고 뒤의 오류 정 보 를 표시 하지 않 습 니 다.value 값 은 Error 의 key 값 이 고 action 류 에서 스스로 정의 합 니 다.세 번 째 방식 은 같은 key 이름 에 여러 개의 오류 정 보 를 넣 고errors.keyName[i]
방식 으로 구체 적 인 정 보 를 표시 할 수 있 으 며,순서 와 넣 는 순서 가 관련 되 어 있다. xml 파일 을 작성 하여 데이터 검증 을 진행 합 니 다.
인증 조건 을 탭 에 기록 하고 내용 은 항목 에 따라 작성 합 니 다.
<validators>
<field name="account">
<field-validator type="requiredstring">
<param name="trim">trueparam>
<message> message>
field-validator>
field>
validators>
struts 는 표준 폼 검증 체 제 를 제공 하고 설정 파일 을 통 해 시스템 의 16 개의 폼 검증 기 를 호출 하여 검증 할 수 있 습 니 다.이 검증 기 들 은
/xwork-core-2.3.24.1.jar/com.opensymphony.xwork2.validator.validator/default.xml
문서 에서 볼 수 있다.<validators>
<validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
<validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
<validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
<validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
<validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
<validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
<validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
<validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
<validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
<validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
<validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
validators>