作为一个偏执的入门级开发人员,我想知道用户是否可以使用某种查询通过带有选择字段的表单将数据插入数据库。
更具体地说,在我的数据库中说我有一个性别列(数据类型文本),在我的表单中我使用选择标签并传入 2 个选项男性和女性。尽管在 html 中用户只有 2 个选项可供选择,但 db 不知道这一点。性别栏几乎可以接受任何内容。我只是想知道讨厌的用户是否可以忽略选择选项并以某种方式在“性别”列中插入一个愚蠢的答案?如果是这样,我该如何保护它。
作为一个偏执的入门级开发人员,我想知道用户是否可以使用某种查询通过带有选择字段的表单将数据插入数据库。
更具体地说,在我的数据库中说我有一个性别列(数据类型文本),在我的表单中我使用选择标签并传入 2 个选项男性和女性。尽管在 html 中用户只有 2 个选项可供选择,但 db 不知道这一点。性别栏几乎可以接受任何内容。我只是想知道讨厌的用户是否可以忽略选择选项并以某种方式在“性别”列中插入一个愚蠢的答案?如果是这样,我该如何保护它。
您在这里谈论的是在将数据输入数据库之前需要完成的验证。无效数据可以来自任何地方(直接来自控制器或来自 GUI),模型负责在数据提交到数据库之前对其进行验证。
浏览这些链接。
http://api.rubyonrails.org/classes/ActiveRecord/Validations.html http://guides.rubyonrails.org/active_record_validations_callbacks.html