validator-rules 중 requiredif 사용 질의
- 작성자 :
- 최*준
- 작성일 :
- 2011-04-13 09:27:21
- 조회수 :
- 3,227
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
항상 개발자에게 지원해주시느라 수고가 많으십니다.
다름이 아니라 validator-rules.xml에 있는 required , maxlength, mask을 사용하는데. requiredif가 있더군요.
useTp(분야) 값에 11이 들어오면 statesName(조건)값을 입력해야만 등록되게 하려고 합니다.
참고할 만한 문의나 소스도 없고, 무엇이 잘못된 것인지 몰라서 문의 드립니다. 현재 다운받은 프레임워크를 그대로 사용 중입니다. 수고하십시요.
<form-validation>
<formset>
<form name="frm">
<field property="useTp" depends="maxlength">
<arg0 key="분야" resource="false"/>
<arg1 key="2" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>2</var-value>
</var>
</field>
<field property="statesName" depends="requiredif">
<arg0 key="조건" resource="false"/>
<var>
<var-name>field[0]</var-name>
<var-value>useTp</var-value>
</var>
<var>
<var-name>fieldTest[0]</var-name>
<var-value>EQUAL</var-value>
</var>
<var>
<var-name>fieldValue[0]</var-name>
<var-value>11</var-value>
</var>
</field>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</form>
</formset>
</form-validation>
다름이 아니라 validator-rules.xml에 있는 required , maxlength, mask을 사용하는데. requiredif가 있더군요.
useTp(분야) 값에 11이 들어오면 statesName(조건)값을 입력해야만 등록되게 하려고 합니다.
참고할 만한 문의나 소스도 없고, 무엇이 잘못된 것인지 몰라서 문의 드립니다. 현재 다운받은 프레임워크를 그대로 사용 중입니다. 수고하십시요.
<form-validation>
<formset>
<form name="frm">
<field property="useTp" depends="maxlength">
<arg0 key="분야" resource="false"/>
<arg1 key="2" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>2</var-value>
</var>
</field>
<field property="statesName" depends="requiredif">
<arg0 key="조건" resource="false"/>
<var>
<var-name>field[0]</var-name>
<var-value>useTp</var-value>
</var>
<var>
<var-name>fieldTest[0]</var-name>
<var-value>EQUAL</var-value>
</var>
<var>
<var-name>fieldValue[0]</var-name>
<var-value>11</var-value>
</var>
</field>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</form>
</formset>
</form-validation>
A
안녕하세요.. 최원준님..
requiredif에서 요구하는 항목인 "field", "fieldTest", "fieldValue"가 정상적으로 설정되신 것 같습니다. (이상이 없어 보임)
다만, 활용하시는 의미가 다른 것 같습니다.
requiredif는 여러 조건들(field[0], field[1])이 모두 만족할 때에 만족하는 것이지..
특정 조건에 따라 다른 조건을 비교하는 의미는 아닙니다.
즉, 위의 경우는 useTp값이 11인 경우에만 성공으로 무조건 판단하는 것입니다.
이 경우는 requiredif 말고.. validwhen을 다음과 같이 적용해 보실 수 있을 것 같습니다.
(apache에서도 requiredif보다 validwhen을 권장함)
<field property="statesName" depends="validwhen">
<arg0 key="조건" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>((useTp != '11') or (*this* != null))</var-value>
</var>
</field>
조건은 useTp가 11이 아니면.. 무조건 통과..
useTp가 11이면.. 첫번째 조건이 false이기 때문에 두번째 조건에 따라 true/false 결정..
그럼.. 즐거운 하루되십시오.
감사합니다.
requiredif에서 요구하는 항목인 "field", "fieldTest", "fieldValue"가 정상적으로 설정되신 것 같습니다. (이상이 없어 보임)
다만, 활용하시는 의미가 다른 것 같습니다.
requiredif는 여러 조건들(field[0], field[1])이 모두 만족할 때에 만족하는 것이지..
특정 조건에 따라 다른 조건을 비교하는 의미는 아닙니다.
즉, 위의 경우는 useTp값이 11인 경우에만 성공으로 무조건 판단하는 것입니다.
이 경우는 requiredif 말고.. validwhen을 다음과 같이 적용해 보실 수 있을 것 같습니다.
(apache에서도 requiredif보다 validwhen을 권장함)
<field property="statesName" depends="validwhen">
<arg0 key="조건" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>((useTp != '11') or (*this* != null))</var-value>
</var>
</field>
조건은 useTp가 11이 아니면.. 무조건 통과..
useTp가 11이면.. 첫번째 조건이 false이기 때문에 두번째 조건에 따라 true/false 결정..
그럼.. 즐거운 하루되십시오.
감사합니다.