起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2664|回复: 4

[结贴] 关于Data的必填规则问题

[复制链接]

56

主题

169

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
发表于 2015-10-28 10:48:57 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
BeX5-V3.2
1.业务场景描述:非流程业务,主表字段A、B、C设置了必填规则。表中由老系统迁移过来的数据,字段A、B、C部分记录为空。在这种情况下,新增一条记录,字段A、B、C都填了值,但在点击保存按钮时还是弹出“字段A、B、C必须有值的提示”,保存不了。2.问题:
       (1)保存按钮是对当前见面加载的所有记录进行保存,并校验所有加载记录的必填规则吗?
        (2)这样的问题要怎么处理?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-10-28 17:29:19 | 显示全部楼层
保存是对当前行的,确认是否自己做了循环或者确定是否值新增了一次
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

56

主题

169

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
 楼主| 发表于 2015-10-28 19:12:51 | 显示全部楼层
jishuang 发表于 2015-10-28 17:29
保存是对当前行的,确认是否自己做了循环或者确定是否值新增了一次

这是我w文件里所有的js代码,实在找不到是由那个事件引起的,我把方法一个一个的注释掉测试都不行。麻烦帮忙看下。



define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");

        var Model = function() {
                this.callParent();
        };

        Model.prototype.saveCommit = function(event) {
                justep.Util.hint("保存成功!", {type: 'success', parent: this.getRootNode()});
        };
       
                Model.prototype.grid3RowClick = function(event){
                var data = this.comp("mainData");
                var id = event.row.getID();
                data.to(id);
                var tabs = this.comp('tabs');
                tabs.setActiveTab('nav-detail');
        };
       
        Model.prototype.button2Click = function(event) {
                var data = this.comp("mainData");
                data.deleteData();
                var tabs = this.comp('tabs');
                tabs.setActiveTab('nav-list');
        };

        Model.prototype.addBtnClick = function() {
                var data = this.comp("mainData");
                data.newData();
                var tabs = this.comp('tabs');
                tabs.setActiveTab('nav-detail');
        };

        Model.prototype.mainDataAfterNew = function(event){
                var  tData = this.comp('mainData');
                tData.setValue('sName',this.getContext().getCurrentPersonName());
        };

        Model.prototype.windowDialog1Receive = function(event){
                var sKHID = event.data.CustomerID;
                var sKHMC = event.data.CustomerName;
                var oData = this.comp('mainData');
                oData.setValue('fKHID', sKHID);
                oData.setValue('fKHMC', sKHMC);
        };

        Model.prototype.selectProjectDialogReceive = function(event){
                var sXMID = event.data.ProjectID;
                var sXMMC = event.data.ProjectName;
                var oData = this.comp('mainData');
                oData.setValue('fXMID', sXMID);
                oData.setValue('fXMMC', sXMMC);
        };

        Model.prototype.button6Click = function(event){
            var oData = this.comp('mainData');
            var oKHMC = oData.getValue('fKHMC');
            if(oKHMC === undefined){
                    alert('请先选择客户!');
            } else {
                    this.comp('selectProjectDialog').open({
                                data:{"CustomerID":this.comp('mainData').getValue('fKHID')}                          
                            });
                }
        };


        Model.prototype.grid1CellRender = function(event){
                var oData = this.comp('mainData');
                var osfjs = oData.getValue('fSFJS');
                if(event.colName=="fSFJS"){
                        if(osfjs){
                                event.html = "<input type='checkbox' id = 'check1' checked = 'checked' disabled='disabled'/>";
                        }else{
                                event.html = "<input type='checkbox' id = 'check1' disabled='disabled'/>";
                               
                        }
                }   //显示按钮
               
        
          };

        Model.prototype.mainDataDataChange = function(event){
                if(event.col == 'fKHID') {               
                        var oData = this.comp('mainData');
                        oData.setValue('fXMMC','');
                        oData.setValue('fXMID','');
                        oData.setValue('fXMMC','');
                        oData.setValue('fLXRID','');
                        oData.setValue('fXM','');
                       
                        var oKHID = oData.getValue('fKHID');
                        var tData = this.comp('cantactPersonData');
                        if(oData.getValue('fKHID')!= undefined){
                                tData.setFilter('khidfilter', "fKHID = '"+oKHID+"' ");
                                tData.refreshData();
                        }
                }
        };

        Model.prototype.gridSelect1ShowOption = function(event){
                var oData = this.comp('mainData');
                var oKHID = oData.getValue('fKHID');
                var tData = this.comp('cantactPersonData');
                tData.setFilter('khidfilter', "fKHID = '"+oKHID+"' ");
                tData.refreshData();
        };



        return Model;
});
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-10-29 13:48:54 | 显示全部楼层
在保存事件中获取一下data中修改的row,然后根据row获取设置必填的字段看看是否有值

把onRender这个事件去掉看看



远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

56

主题

169

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
 楼主| 发表于 2015-10-29 14:26:17 | 显示全部楼层
jishuang 发表于 2015-10-29 13:48
在保存事件中获取一下data中修改的row,然后根据row获取设置必填的字段看看是否有值

把onRender这个事件去 ...

那我试试,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-16 03:24 , Processed in 0.068016 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表