Open ZoeyYoung opened 8 years ago
题外话
表单处理可以做得很简单,也可以做得很复杂;
简单的情况就是前端完全不做验证,把验证直接交给后台;其实目前都是通过ajax提交表单数据,并不存在页面刷新跳转,这样做除了可能会多发请求,其它并没有什么问题;
还是老观念,后台验证是必须的,前台验证是优化;必竟绕过前端验证去提交表单是比较容易的;
事实上,如果是正常的用户,通常不会有太多输入错误;而在前端添加验证代码会引入两个问题:1)多出许多验证逻辑代码,增加了复杂度;2)后端验证不全面,可能出现部分非前端提交的非法数据;
当然,如果能优化,又不会在业务中穿插许多验证逻辑代码,何乐尔不为呢
目前的做法
function save(data) { // 在提交到后台之前进行表单验证 if (validateFail) { return { type: ActionType.SAVE_FAIL, message, }; } return dispatch => { CallApi(data).then(res => { if (res.status === 0) { dispatch({ type: ActionType.SAVE_SUCCESS, }); } else { dispatch({ type: ActionType.SAVE_FAIL, message: res.message, }); } }); }; }
一直计划学习一下redux-form是怎么干这件事情的
https://github.com/erikras/redux-form
题外话
表单处理可以做得很简单,也可以做得很复杂;
简单的情况就是前端完全不做验证,把验证直接交给后台;其实目前都是通过ajax提交表单数据,并不存在页面刷新跳转,这样做除了可能会多发请求,其它并没有什么问题;
还是老观念,后台验证是必须的,前台验证是优化;必竟绕过前端验证去提交表单是比较容易的;
事实上,如果是正常的用户,通常不会有太多输入错误;而在前端添加验证代码会引入两个问题:1)多出许多验证逻辑代码,增加了复杂度;2)后端验证不全面,可能出现部分非前端提交的非法数据;
当然,如果能优化,又不会在业务中穿插许多验证逻辑代码,何乐尔不为呢
目前的做法
一直计划学习一下redux-form是怎么干这件事情的
https://github.com/erikras/redux-form