验证表单输入

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

用户提交了表单,在把表单里的数据保存到数据库之前我们可以验证一下表单里的数据,是不是符合我们的规定。这些规则可以放到模型里 .. 打开 Article 这个模型 ..

在它里面添加一个 validates .. 验证的是 :title 属性 ... 用一下 presence: true .. 意思是属性不能是空白的 .. 再用一个 length: ... 它验证的是属性的长度 .. 规则可以用一下 minimum .. 值是 3 .. 意思就是属性的长度最少也得是 3 个字符 ...

提交新建资源的请求,会用控制器的 create 方法处理 .. 我们再去改造一下这个方法 .. 如果用户填写的表单不符合我们的验证规则,验证就会失败,这样 save 这个方法会返回 false ..

在这里可以判断一下,如果执行 @article.save 的时候返回 true 的值 ,就把用户重定向到新创建的这个文章的页面上 ... 如果它返回的是 false,说明验证失败了 .. 在这种情况下我们可以 render 一下 new , 这样这个方法里的 @article 实例变量会传递给 new 这个视图 ... 它里面的属性的值会作为表单元素的默认的值 ...

保存 ... 打开添加新文章的页面 .. 输入标题 ... 正文 ... 保存一下 ... 验证通过,会保存这个新文章的内容 ... 成功以后会把我重定向到这个文章的页面上 ...

再试一下 ... 添加一个新文章

输入一个标题 ... 两个字符 ... 再输入正文 ... 保存一下文章 ...

新文章没有被保存 .. 因为我们输入的标题不能通过验证 ... 验证失败以后又会被带回到这个添加新文章的页面上 ... 之前我们在表单里输入的内容仍然会出现在上面 ... 这是因为 create 方法把它的 @article 变量传递给了这个页面使用的 new 视图 ...

验证表单输入《 Ruby on Rails:起步 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点