这里不提success,提提Extjs 表单提交的failure方法。
在表单的提交中,当发生异常行为时通常分为三种情况
1. 无法连接到服务器
2. 表单验证错误
3. 业务逻辑错误
对应下面的代码
- failure = function(form, action){
- switch (action.failureType) {
- case Ext.form.Action.CLIENT_INVALID:
- Ext.ux.Toast.msg("错误", "提交的表单数据无效,请检查!");
- break;
- case Ext.form.Action.CONNECT_FAILURE:
- Ext.ux.Toast.msg(‘错误‘, ‘连接失败‘);
- break;
- case Ext.form.Action.SERVER_INVALID:
- Ext.ux.Toast.msg(‘业务逻辑错误‘, action.result.msg);
- }
- }
在业务逻辑错误中,服务器返回json可以这么写,success 当然得为false
其中errors 中对应的 id为表单控件的id,后面msg则是验证错误的显示消息咯
- {
- msg: ‘填写错误,注意检查‘,
- success: false,
- errors : [{id : ‘name‘, msg: ‘姓名不能为空‘},{id: ‘sex‘, msg : ‘性别有错‘}]
- }