validate - required 관련 질문드립니다.
- 작성자 :
- 서*주
- 작성일 :
- 2016-03-29 18:59:53
- 조회수 :
- 1,131
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
select box에 대한 validation 체크가 되지 않습니다.
-------- jsp -----------------
$(document).ready(function(){
$("form#InfoVO #month").val("")
});
<form:select path="month">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</form:select>월
------ validator.xml -------------
<field property="month" depends="required">
<arg0 key="'월'" />
</field>
위와 같이 처리했을때 월을 선택하지 않을 경우 month의 value값은 null입니다.
그런데 validator-rules.xml - validateRequired function에서 아래 로직 부분을 거치면서 fieldType 이 undefined가 됩니다.
-----------------------------------------------------------
fieldType = field.type; ---> 여기서는 fieldType =select-one
if(field.length > 0) fieldType = field[0].type; ---> 여기서 fieldType = undefined
(field.length[0]이 <option value="1">1</option> 이 되므로...)
------------------------------------------------------------
그 후에 로직을 타지 않게되면서 제대로 검증이 되지 않습니다.
select box에 대한 다른 validation 방법이 있으면 알려주세요.
-------- jsp -----------------
$(document).ready(function(){
$("form#InfoVO #month").val("")
});
<form:select path="month">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</form:select>월
------ validator.xml -------------
<field property="month" depends="required">
<arg0 key="'월'" />
</field>
위와 같이 처리했을때 월을 선택하지 않을 경우 month의 value값은 null입니다.
그런데 validator-rules.xml - validateRequired function에서 아래 로직 부분을 거치면서 fieldType 이 undefined가 됩니다.
-----------------------------------------------------------
fieldType = field.type; ---> 여기서는 fieldType =select-one
if(field.length > 0) fieldType = field[0].type; ---> 여기서 fieldType = undefined
(field.length[0]이 <option value="1">1</option> 이 되므로...)
------------------------------------------------------------
그 후에 로직을 타지 않게되면서 제대로 검증이 되지 않습니다.
select box에 대한 다른 validation 방법이 있으면 알려주세요.
A
안녕하세요. 표준프레임워크센터입니다.
구현하신 부분의 내용을 보니 최초의 페이지 로딩시 셀렉트 박스의 초기 selected 값을 ("")로 지정하게 하려고 구현된 것으로 사료됩니다.
select box 내에 option value 가 ""로 선언된 select id값이 존재하지 않아 에러가 난 것 같습니다.
select box ""값의 option을 추가하여 진행해보시기 바랍니다.
ex)
<form:select path="month">
<form:option value="" label="" />
<form:option value="1" label="1" />
<form:option value="2" label="2" />
<form:option value="3" label="3" />
</form:select>
감사합니다.
구현하신 부분의 내용을 보니 최초의 페이지 로딩시 셀렉트 박스의 초기 selected 값을 ("")로 지정하게 하려고 구현된 것으로 사료됩니다.
select box 내에 option value 가 ""로 선언된 select id값이 존재하지 않아 에러가 난 것 같습니다.
select box ""값의 option을 추가하여 진행해보시기 바랍니다.
ex)
<form:select path="month">
<form:option value="" label="" />
<form:option value="1" label="1" />
<form:option value="2" label="2" />
<form:option value="3" label="3" />
</form:select>
감사합니다.