validator 에 관한 질문입니다.
- 작성자 :
- 원*란
- 작성일 :
- 2010-06-30 13:15:57
- 조회수 :
- 3,460
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
validator-rules.xml 파일에 보면 "required"를 통해 필수값 체크를 할 수 있도록 되어있는데 ""(빈 String값)일 경우에는 유효성 체크가 되지만, 라디오 버튼의 경우 입력을 하지 않고 등록하게 되면 null값으로 들어가서 유효성 체크가 되지 않습니다. "" 값을 null값으로 받게 하려면 어느 부분을 고쳐야 하나요?
그리고 form태그의 라디오버튼은 "required"로 유효성체크를 할 수 없나요?
<validator name="required"
classname="org.springmodules.validation.commons.FieldChecks"
method="validateRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.springframework.validation.Errors"
msg="errors.required">
<javascript><![CDATA[
function validateRequired(form) {
var isValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for (x in oRequired) {
var field = form[oRequired[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'file' ||
field.type == 'select-one' ||
field.type == 'radio' ||
field.type == 'password') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value = field.options[si].value;
}
} else { value = field.value;
}
if (trim(value).length == 0) {
if (i == 0) {
focusField = field;
}
fields[i++] = oRequired[x][1];
isValid = false;}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return isValid;
}
// Trim whitespace from left and right sides of s.
function trim(s) {
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
]]>
</javascript>
</validator>
그리고 form태그의 라디오버튼은 "required"로 유효성체크를 할 수 없나요?
<validator name="required"
classname="org.springmodules.validation.commons.FieldChecks"
method="validateRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.springframework.validation.Errors"
msg="errors.required">
<javascript><![CDATA[
function validateRequired(form) {
var isValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for (x in oRequired) {
var field = form[oRequired[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'file' ||
field.type == 'select-one' ||
field.type == 'radio' ||
field.type == 'password') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value = field.options[si].value;
}
} else { value = field.value;
}
if (trim(value).length == 0) {
if (i == 0) {
focusField = field;
}
fields[i++] = oRequired[x][1];
isValid = false;}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return isValid;
}
// Trim whitespace from left and right sides of s.
function trim(s) {
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
]]>
</javascript>
</validator>
A
안녕하세요. 원미란님.
validation을 처리 할때 radio 객체를 사용할 경우 value="" 값을 지정하시면 "required"로 체크 가능합니다.
질문중 '라디오 버튼의 경우 입력을 하지 않는다'는 말씀의 뜻이 모호하여 정확한 내용을 알수 없으니 위와 같은 처리로 안될 경우 자세한 내용을 올려주시기 바랍니다.
감사합니다. 즐거운 하루 되세요.
validation을 처리 할때 radio 객체를 사용할 경우 value="" 값을 지정하시면 "required"로 체크 가능합니다.
질문중 '라디오 버튼의 경우 입력을 하지 않는다'는 말씀의 뜻이 모호하여 정확한 내용을 알수 없으니 위와 같은 처리로 안될 경우 자세한 내용을 올려주시기 바랍니다.
감사합니다. 즐거운 하루 되세요.