假设我有一个存储客户信息的数据库,并且有一个应用程序有多种形式来注册客户,编辑客户,删除客户等...
是否应将输入验证(例如,检查客户的邮政编码格式正确)放在Customer类中或在表单上完成?目前我在课堂上有它,如果值的格式不正确,我会抛出一个自定义异常。
答案 0 :(得分:2)
有两种验证案例:
您在课程/后端进行的验证是您无法忽略的验证。如果这样做,这可能会使您的数据处于heywired
状态。所以必须这样做!
UI中的验证不是必需的,但几乎总是质量应用程序的一部分。我们为用户构建应用程序,因此UX(用户体验)至关重要。 UI中的验证为用户提供即时反馈并缩短校正周期。随着形式的增长,这一点变得更加重要。
希望有所帮助。
答案 1 :(得分:0)
我不知道您正在使用哪个框架,但将表单验证放在Handels表中的类中是有意义的。这是我目前正在使用https://book.cakephp.org/2.0/en/models/data-validation.html的框架。这可能会有所帮助。
答案 2 :(得分:0)
这取决于你app的架构。 如果您希望您的应用程序具有可扩展性和模块化,我建议您重新考虑MVC模式(模型,视图,控制器)。 在这种情况下,模型是:客户类(仅存储客户的数据) 视图是:表格 你应该控制数据:检查输入,在db等中存储数据..(业务逻辑)在一个名为例如CustomerController的类中。 MVC Model
答案 3 :(得分:0)
但这并不意味着您的业务层不应该仍然检查是否存在所需的值,特别是如果您有可以在没有UI层的情况下调用的api。此外,业务层还必须验证更复杂的情况,如现有用户名等。