我有一個JavaScript表單驗證功能類似使用Javascript - 策略模式建議需要
switch (element.getAttribute('validationtype')) {
case 'text':
if (cic.visible(element)) {
if (cic.getValue(element).strip() == "") {
errors.push(element.getAttribute('validationmsg'));
element.style.border = "1px solid #B23232";
} else {
element.style.border = "1px solid #CAD5DE";
}
}
break;
case 'textarea': if (element.value.strip() == "") {
errors.push(element.getAttribute('validationmsg'));
}
break;
case 'email':
if (!cic.isEmail(cic.getValue(element))) {
errors.push(element.getAttribute('validationmsg'));
element.style.border = "1px solid #B23232";
} else {
element.style.border = "1px solid #CAD5DE";
};
break;
case 'numeric':
if (cic.getValue(element).strip() == "" || isNaN(cic.getValue(element).replace(',', '.'))) {
errors.push(element.getAttribute('validationmsg'));
element.style.border = "1px solid #B23232";
} else {
element.style.border = "1px solid #CAD5DE";
};
break;
}
每次我需要一個新的驗證類型我必須要改變的功能。 什麼應該是組織這個功能作爲一個類的最好的方式,以便它是封閉的改變。