返回
日本語
中文
English
web/WEB-INF/efw/event/myEvent.js
--------------------------------------------------------------------------------
var form1_event1={};
form1_event1.outOfLogin = false;
form1_event1.include = [ { eventId : "form1_event2" } ];
form1_event1.paramsFormat = {
"#txt_teststring" : "display-name:测试文字;max-length:10;",
"#txt_testnumber" : "format:#,##0.00;required:true;display-name:测试数字;min:-10.00;max:1,000.00",
"#txt_testdate" : function(){
var date1=new Date();
var date2=new Date();
date2.setDate(date1.getDate()+Number(6));
return "format:yyyy年MM月dd日;required:true;display-name:测试日期;"
+"min:"+efw.server.format.formatDate(date1,"yyyy年MM月dd日")+";"
+"max:"+efw.server.format.formatDate(date2,"yyyy年MM月dd日")+";" ;
},
...
};
form1_event1.fire = function ( requestParams ) {
var ret=[];
...
var retsub=form1_event2.fire({ ... });
if(retsub.error) return {error:{...}};
ret=ret.concat(retsub);
return ret;
};
- event文件。
form1_event1.outOfLogin = true/false;
-
免除登陆校验标识,如果未设置或是false的话,进行登陆校验。如果设置true的话,不进行登陆校验。
关于登陆校验的确认对象,请参照efw.properties 的 efw.login.key 。
form1_event1.paramsFormat = {
"#txt_teststring" : "display-name:测试文字;max-length:10;",
"#txt_testnumber" : "format:#,##0.00;required:true;display-name:测试数字;min:-10.00;max:1,000.00",
"#txt_testdate" : function(){
var date1=new Date();
var date2=new Date();
date2.setDate(date1.getDate()+Number(6));
return "format:yyyy年MM月dd日;required:true;display-name:测试日期;"
+"min:"+efw.server.format.formatDate(date1,"yyyy年MM月dd日")+";"
+"max:"+efw.server.format.formatDate(date2,"yyyy年MM月dd日")+";" ;
},
...
};
-
为了自动进行单纯输入校验,在paramsFormat里定义校验样式。
详细内容参照event.paramsFormat.checkStyle的API。
-
如果业务校验发现错误,事件处理中返回error对象。详细内容参照event.fire.error的API。
如果想要管理业务校验错误信息,可以定制化efw.client.messages.js或efw.server.messages.js文件。
form1_event1.include = [ { eventId : "form1_event2" } ];
...
var retsub = form1_event2.fire( { ... } );
ret = ret.concat( retsub );
-
如果想在主事件里执行子事件,需要定义include属性。
如果想要把子事件的paramsFormat加入主事件里,可以利用include的mergeParamsFormat。详细内容参照event.include的API。
主事件和子事件的执行结果,可以用数组结合的方式连接。详细内容参照event.fire.eventResult的API。
form1_event1.paramsFormat = { ... };
...
form1_event1.fire = function ( requestParams ) {
var ret=[];
...
return ret;
};
-
事件的数据传递记述是在服务端js文件,而不是客户端js文件。
詳細内容参照efw.client.fire的API。
-
每次执行event.fire时,进行事务处理。
如果事件的fire成功的话,事务处理执行commit。如果失败的话,事务处理执行rollback。
詳細内容参照efw.server.prepare和efw.server.finish的API。
事务处理的定制化可以在efw.server.customize.js里进行。