/* user
* <input type='text' class='chkEmpty chkNum chkFloat '>
* <input type='submit' value='送出' onClick="return validateFields.validateAll();">
*/
var vEmpty = {
name: "chkEmpty",
warning: "該欄位必填",
getWarning: function($ctl) {
return ($ctl.attr("warning") || this.warning);
},
vd: function($ctl) {
if ($ctl.get(0).tagName.toLowerCase() == "select") {
this.warning = "該下拉項必選";
}
return $.trim($ctl.val()).length > 0;
}
};
var vFloat = {
name: "chkFloat",
warning: "該欄位只接受數字或浮點數型態",
getWarning: function($ctl) {
return ($ctl.attr("warning") || this.warning);
},
vd: function($ctl) {
var result = true;
var val = $.trim($ctl.val());
var negative = ($ctl.attr("negative") || "false").toLowerCase() == "true";
var dotLen = $ctl.attr("DecimalLength") || 0; // 小數點幾位長度限制
var intLen = $ctl.attr("IntLength") || 0; // 整數幾位長度限制
this.warning =
"該欄位只接受 " +
(intLen > 0 ? (intLen + " 位" + (negative ? "" : "正") + "整數") : "") +
(dotLen > 0 ? " 及小數點後 " + dotLen + " 位" : "");
if (val.length > 0) {
if (val == parseFloat(val)) {
// 不允許負數
if (!negative) {
result = (parseFloat(val) > 0);
}
if (result) {
var cmpValue = val.charAt(0) == "-" ?
val.substring(1).split(".") : cmpValue = val.split(".");
if (cmpValue[0].length == 0) {
result = false;
}
else if (intLen > 0 && cmpValue[0].length > intLen) {
result = false;
}
else if (dotLen > 0 && (cmpValue.length >= 2 && cmpValue[1].length > dotLen)) {
result = false;
}
if (dotLen > 0 && cmpValue.length >= 2 && cmpValue[1].length == 0) {
$ctl.val(val + "0");
}
}
}
else {
result = false;
}
}
return result;
}
};