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

QQ登录

只需一步,快速开始

查看: 3288|回复: 5

[结贴] 关于saveData的必填验证处理方法?

[复制链接]

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
发表于 2017-9-7 09:18:06 | 显示全部楼层 |阅读模式
saveData保存的时候是进行的全表保存,我希望只对当前行的数据保存,但是平台默认要对全表进行验证?表A有a、b、二个字段
当a为1的时候b不能为空,当a为0的时候b可以为空
data规则编辑的必填验证里面是这样写的:$model.checkA(),这个checkA方法里面对a进行判断从而控制必填
我在保存的时候发现这个saveData是对表的所有数据行进行验证,这个怎么搞?
这样子感觉必填验证里面调研checkA完全起不到作用了




91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-9-7 10:46:57 | 显示全部楼层
1.平台默认的保存是对所有新增或修改的行,规则校验是同样的,如果需要data规则只校验当前行和只保存当前行,可以自己放一个按钮如下调用,
不要直接在按钮中设置data的保存操作
  1.         Model.prototype.saveBtnClick = function(event){
  2.                 var data = this.comp("mainData");
  3.                 var currentRowID = data.getCurrentRowID();
  4.                 data.each(function(param) {
  5.                         var row = param.row;
  6.                         if (row.getID() !== currentRowID && data.getRowState(row) !== "none") {
  7.                                 data.setRowState(param.row, "none");
  8.                         }
  9.                 });
  10.                 data.saveData();

  11.         };
复制代码


2.规则中通过一个字段关系值判断应该参考http://docs.wex5.com/bex5-ui-question-list-10110/中的把当前计算行或者是具体的关系值
$row.val("XXX")传过去,js的函数中通过传的参数获取值判断
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-9-8 08:36:25 | 显示全部楼层
平台默认的保存是对所有新增或修改的行,可是保存的那行数据不是新增和修改的行,而是已经有的数据,为什么也要去检测呢?
平台默认的保存是对所有的行进行保存吧,先确定下你这个回复是正确的吗?
假如我这个date数据特别大,那根本就不能直接使用saveData了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-9-8 10:36:10 | 显示全部楼层
1.如果数据状态不是new或edit是不会去校验的,如果校验了肯定是新增的数据或者是修改了已有的数据
2.平台默认的保存是对所有新增、修改、删除的行
3.没有修改的数据是不会再执行保存的

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



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-9-11 16:37:01 | 显示全部楼层
1.如果数据状态不是new或edit是不会去校验的,如果校验了肯定是新增的数据或者是修改了已有的数据

我前2天上了一个版本,A字段是没有加必填校验的,表中已经有了2条数据了,A字段为是空的
过几天后,我将这个字段在W页面加了必填校验
我是做新增操作,并没有去修改这2条数据
在执行saveData的时候错误提示表明已有的2行字段为空,不能保存
现在我就遇到了这么一个问题,不知道应该怎么解决?

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-9-11 17:13:10 | 显示全部楼层
2楼的处理方案不行吗?
data的getChangedIDs("edit")看看获取的是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-25 05:39 , Processed in 0.129901 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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