方法定义

1. 基本功能 1.基本功能

1.1.逻辑校验

平台默认方法支持配置逻辑校验,当条件满足时触发校验提示。校验类型包括前端值校验提示业务对象名+ctrl文件中。消息内容支持动态取值
f4

2. 配置方法 2.配置方法

云平台版本需要更新到5.6.A.0+

2.1. 逻辑校验 2.1. 逻辑校验

配置

  1. 对象建模–多语言配置–国际化消息:新增一笔数据,输入【消息键值】为addTest、【消息类型】为自定义、【消息内容】、【语言名称】;然后新增子表数据,输入【消息内容】为具体提示内容、【语言名称】。其中【消息内容】支持配置变量,动态取值,配置格式:${变量名}。例如:中文名称:${bagName},不符合,请检查!
    QQ截图20191108143139
    QQ截图20191108143147
  2. 对象建模–业务对象–业务对象管理:编辑业务对象,进入可视化布局,选择左边的业务对象数据源,选择右边的属性定义/方法定义分组页签中的方法定义页签,编辑方法,在编辑方法页面上点击更多配置按钮,配置逻辑校验规则。增加子表数据,输入【校验名称】、【校验类型】为前端值校验提示、【国际化消息】为addTest、【顺序】。增加孙表数据,根据实际需求输入【属性名】、【操作符】、【值】、【值类型】、【顺序】。如果要配置【校验类型】为自定义校验可以直接参考第3步
    QQ截图20191108142757
  3. 如果前端值校验不满足需求,可以配置【校验类型】为自定义校验,只需增加子表数据,输入【校验名称】、【校验类型】为自定义校验、【自定义校验名称】为自定义实现的方法名、【国际化消息】及【顺序】。用户在扩展文件Ctr,js中编写自定义校验规则,代码可参考常用扩展
    QQ截图20191108153003
  4. 如果国际化消息内容有配置变量,那么业务对象名+ctrl文件中添加一句对应国际化消息中定义的变量代码this.scope.bagName = '中文名';

代码

自定义校验类型,例如生效字段,如果当前数据已经生效,要提示:序号:1(表格序列号)已为生效状态,无法进行生效操作!那么业务对象名+BsCtrl文件中生成生效方法带校验规则代码。

        /**
         * GLPaaS生成
         * 生效 评分模板
         */
        $scope.activeStatusCsScoreTemp = function(){

            var checkRows = [];
            checkRows.push($scope.csScoreTemp);
            var isDataModified = $scope._pageState.isDataModified($scope.boStatusOptions);
            if (isDataModified) {
                $scope.baseShow({
                    title: '提示',
                    msg: '存在未保存的记录,请先保存!',
                    buttons: [{
                        text: '确定',
                        type: 'sure',
                        handler: function () {
                        }
                    }]
                });
                return;
            }

                if ($scope.activeStatus && !$scope.activeStatus()) {
                    $scope.baseAlert("提示", $scope.getRealMsg('序号:${gridNumber}已为生效状态,无法进行生效操作!'));
                    return ;
                }
            $http.post($config.ctx + '/csScoreTemp/activeStatus', checkRows).success(function (data) {
                $scope.baseAlert("提示", data.msg);
                $scope.refreshCurrentPage("CsScoreTemp");
            })
        }

3. 常用扩展 3. 常用扩展

3.1. 逻辑校验 3.1. 逻辑校验

如果国际化消息内容有配置变量,那么业务对象名+ctrl文件中添加一句对应国际化消息中定义的变量代码this.scope.bagName = '中文名';

        this.scope.controlOneTestSysStBooking = function (aa, bb, cc) {
            alert('dfd');
        };
       `this.scope.bagName = '中文名';`

自定义校验类型的扩展文件中代码参考如下:

        /**
         * GLPaaS生成
         * 生效 评分模板
         */
        $scope.activeStatus = function(){
            var checkRows = $scope.csScoreTempCheckedRows;

            var hasActive = false;
            var indexArr = [];

            checkRows.map(function (item,index) {
                if(item.isActive=="Y"){
                    hasActive = true;
                    indexArr.push($scope.csScoreTempGrid.getPhysicalRow(item) + 1);
                }
            });

            $scope.gridNumber = indexArr.join(",");

            return !hasActive;

        }

4.版本更新

4.版本更新