简易信用卡管理系统项目中常见的几个逻辑验证问题
#### 在使用MiniUI的过程中,遇到了一些常见的常用的逻辑问题,特此纪录。框架为miniUI。只贴上相关代码。
1 表格验证数字大于200显示为绿色,小于200的显示为红色。使用的是MiniUI.
即为datagrid添加drawcell属性
mini.parse(); var grid = mini.get("datagrid1"); grid.load(); //以下是添加的代码,上面是初始化 grid.on("drawcell", function (e) { var record = e.record, field = e.field, value = e.value; if (field == "Money" && value >= 100) e.cellStyle = "color:green"; else if (field == "Money" && value < 100) e.cellStyle = "color:red"; });
2 判断信用卡透支的简单程序(初级透支1000,中级透支5000,高级透支10000)
function onCheckValidation() { overMoney = money - (mini.getbyName("Price").getValue()); if (overMoney>=0) return true; else { switch (standard) { case "1": if (Math.abs(overMoney) <= 1000)return true; else return false; break; case "2": if (Math.abs(overMoney) <= 5000) return true; else return false; break; case "3": if (Math.abs(overMoney) <= 10000) return true; else return false; break; default: return false; break; } } }
3 验证身份证号码的正则表达式
function onIDCardsValidation(e) { if (e.isValid) { var pattern = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; if (e.value.length < 15 || e.value.length > 18 || pattern.test(e.value) == false) { e.isValid = false; mini.alert("身份证号码格式不正确", "系统提示"); } } }
4 验证手机号
function onPhoneNumberValidation(e) { if (e.isValid) { var pattern = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/; if (pattern.test(e.value) == false) { e.isValid = false; mini.alert("手机号码格式不正确", "系统提示"); } } }
5 校验时间。开始时间和结束时间。简单程序
//校验时间:结束时间不能早于开始时间 function vali_date() { var startTimePick = mini.getbyName("StartTime"); var endTimePick = mini.getbyName("EndTime"); var startTime = startTimePick.getValue(); var endTime = endTimePick.getValue(); if (startTime > endTime) { return false; } return true; }
6 接收后台的异常信息,当然后台需要传送json到前台
具体方法是 try catch 抛异常
这样做,能满足要求
不需要再在数据库中操作
$.ajax({ url: "data/AjaxSalaryInfo.aspx?method=SaveSalaryInfo", type: 'post', data: { data: json }, cache: false, success: function (text) { debugger; if (mini.decode(text).mess == "违反了 UNIQUE KEY 约束") { mini.alert("该员工本月已纪录!", "系统提示"); } else CloseWindow("save"); }, error: function (jqXHR, textStatus, errorThrown) { alert(jqXHR.responseText); CloseWindow(); } });
看上去很初级的想法。能满足现阶段的一些要求