我正在创建一个日程应用程序。老师、学生和汽车。
Spring+DB+React
它的设计方式很清楚:
添加新游乐设施如下:
- 1选择学生(从数据库自动填充(
- 2选择时间范围
- 3.1从列表中选择在该时间范围内没有任何骑行的老师(2(
- 3.2从列表中选择在该时间范围内没有任何骑行的汽车(2(
直到这一步,查询(例如,提供该时间范围内可用的教师(才能在春季通过Repository实现翻转。在将收到的Ride保存到存储库/数据库之前,我是否应该在后端再次验证它?
是的,您应该在服务器上重新验证,因为您无法控制客户端是否发送错误信息。客户端可能会发送不好的信息,因为他们是邪恶的(和/或他们的计算机被破坏(,或者因为他们从DB收到了过时的信息——或者这些信息在生成页面的那一刻到他们做出选择的那一时刻之间变得过时了。
根据您的限制,DB层可能会检测到一个无效的插入,但最好事先在执行重要插入的服务器上的Spring事务中检查是否存在冲突。
在后端验证数据非常重要。因此,您需要继续在后端进行验证,否则,如果您的逻辑依赖于前端验证,您的数据可以很容易地被操纵。