Доброго времени суток, уважаемые форумчане!
есть функция валидации полей вида:
RikkiValidInput(this, /(^(\d+-)*\d+$)/, '', 'input-group has-success', 'input-group', '', '', '');
function RikkiValidInput(element, reg, aler, sClass, eClass, clr, idSpan, num) {
if (reg.test(element.value)) {
if (idSpan) {
var count = num - element.value.length;
$(idSpan).html(count);
if (element.value.length <= num) {
element.parentNode.className = sClass;
} else {
element.parentNode.className = eClass;
}
} else {
element.parentNode.className = sClass;
}
} else if (element.value) {
if (clr) {
element.parentNode.className = clr;
element.value = "";
if (idSpan) {
$(idSpan).hide();
}
} else {
element.parentNode.className = eClass;
}
if (aler) {
alert(aler);
}
}
return false;
}
хочу привести к цивилизованному виду:
var numberSet {
reg: /(^(\d+-)*\d+$)/,
aler: '',
sClass: 'input-group has-success',
eClass: 'input-group',
clr: '',
idSpan: '',
num: ''
}
RikkiValidation(this, numberSet);
function RikkiValidation(element, valSet) {
if (reg.test(element.value)) {
if (valSet.idSpan) {
var count = valSet.num - element.value.length;
$(valSet.idSpan).html(count);
if (element.value.length <= valSet.num) {
element.parentNode.className = valSet.sClass;
} else {
element.parentNode.className = valSet.eClass;
}
} else {
element.parentNode.className = valSet.sClass;
}
} else if (element.value) {
if (valSet.clr) {
element.parentNode.className = valSet.clr;
element.value = '';
if (valSet.idSpan) {
$(valSet.idSpan).hide();
}
} else {
element.parentNode.className = valSet.eClass;
}
if (valSet.aler) {
alert(valSet.aler);
}
}
return false;
}
ну в общем, во втором исполнении не валидирует, где ошибка?
и насколько безопасно применять ассоциативные массивы?