比如:
1.不读取数据库的有效性验证(是否填写验证、密码长度验证、邮箱有效性验证)
2.取数据库的有效性验证(用户名重复验证)
3.密码重复验证(应该算第一类吧?)
4.其它未考虑到的...
/* 原来segmentfault有新手问答板块,于是提问不再害羞了*/
比如:
1.不读取数据库的有效性验证(是否填写验证、密码长度验证、邮箱有效性验证)
2.取数据库的有效性验证(用户名重复验证)
3.密码重复验证(应该算第一类吧?)
4.其它未考虑到的...
/* 原来segmentfault有新手问答板块,于是提问不再害羞了*/
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
一般在前端需要验证的东西,在后端也必须验证,因为浏览器禁用js后就可以绕过js的验证了。
前端验证是为了体验更好,减少连接请求等。比如,你所说的密码长度验证、邮箱有效性验证这些,在前端就能验证的东西,没必要提交到后端去验证,让这部分处理交给客户端处理是能缓解服务端压力的(对于高并发的网站,效果很明显)。
那什么应该放到后端去验证呢?常见的是与数据库操作有关的,比如用户名重复验证、密码重复验证,这些必须查询数据库才知道的东西。为了更好的体验,现在一般都是通过ajax对后端发起请求,不刷新页面的方式进行验证(同时可以节省流量)。除了与数据库操作有关的可能放到后端去验证,还有一些别的情况也可能放到后端验证,比如有个字段的检查需要借助一个算法,不可能把这个算法的实现写到js去。
总的来说,坚持一个原则,所有验证尽可能放到前端去验证,同时前端验证的东西后端再验证一次。