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

QQ登录

只需一步,快速开始

楼主: tlkj

[处理中] 数据保存验证

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-18 16:33:10 | 显示全部楼层
按这个思路做,js中怎么调用这个action。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-2-18 16:48:12 | 显示全部楼层
就是你前面发的js代码啊,只是在save的事件中调用的时候不需要return返回值就可以

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



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-18 16:54:56 | 显示全部楼层
截图所示部分,getID()是不是获取的主键???我主要是想通过员工卡号ygkh这个字段来进行判定,这块我应该怎么写啊?
图片.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-2-18 16:58:44 | 显示全部楼层
在save的事件中不需要这样判断,只需要获取action的返回值判断是否为0然后直接弹出提示信息或者终止保存就可以

上面发的是获取data的状态的,不是通过那个字段的值判断的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-18 17:05:31 | 显示全部楼层
能稍微详细点不,这点问题咱们都讨论一天了。只需要获取action的返回值判断是否为0怎么判断?怎么获取???
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-2-18 17:20:48 | 显示全部楼层
我在本地做一个例子给你,会花费较长时间,请你耐心等待,我完成后会第一时间将例子发上来的,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-18 17:22:39 | 显示全部楼层
本帖最后由 tlkj 于 2016-2-18 17:52 编辑

 .
回复

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-2-18 18:11:34 | 显示全部楼层
如下:action中对应的java中的定义
  1. public static int uniqueName(String name){
  2.                 String sql = "select count(AP_RQ) as countname from AP_RQ AP_RQ where AP_RQ.fName = '"+name+"'";
  3.                 Table table = KSQL.select(sql, null, "/appdemo/test/data", null);
  4.                 Iterator<Row> it = table.iterator();
  5.                 int i = 0 ;
  6.                 while (it.hasNext()) {
  7.                         Row r = it.next();
  8.                         BigDecimal conunt = (BigDecimal) r.getValue("countname");
  9.                          i = conunt.intValue();
  10.                         }
  11.                 return i;
  12.                
  13.         }
复制代码


data的onBeforeSave中action的调用
  1.         Model.prototype.bizData1BeforeSave = function(event) {
  2.                 var data = this.comp("bizData1");
  3.                 var name = data.getValue("fName");
  4.                 var params = new biz.Request.ActionParam();
  5.                 params.setString("name", name);
  6.                 biz.Request.sendBizRequest({
  7.                         "context" : this.getContext(),
  8.                         "action" : "uniqueNameAction",
  9.                         "parameters" : params,
  10.                         callback : function(result) {
  11.                                 if (result.state) {
  12.                                         if (result.response !== 0) {
  13.                                                 alert("数据重复");
  14.                                                 event.cancel = true;
  15.                                         }
  16.                                 }
  17.                         }
  18.                 });

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



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-19 07:55:47 来自手机 | 显示全部楼层
真是太感谢了。现在数据重复是可以提示了,但是还是没有限制住,提示数据重复,但是还能保存到数据库中。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-2-19 08:41:22 | 显示全部楼层
把action的调用如下修改一下
biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "uniqueNameAction",
                        "directExecute" : true,
                        "parameters" : params,
                        callback : function(result) {
                                if (result.state) {
                                        if (result.response !== 0) {
                                                alert("数据重复");
                                                event.cancel = true;
                                        }
                                }

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



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 23:34 , Processed in 0.057017 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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