简易信用卡管理系统项目中常见的几个逻辑验证问题

####  在使用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();
                }
            });

 看上去很初级的想法。能满足现阶段的一些要求

posted @ 2016-04-25 09:05  Hadoop2  阅读(564)  评论(2编辑  收藏  举报
有事您Q我