Railsのバリデーションは非常に簡単。modelクラスに以下のように実装する。
validates :USER_ID,#入力制限を加えたいカラム
:presence => true,#Not Null制約
:uniqueness => true,#一意性制約
:length => { :minimum => 3, :maximum =>30 }#桁数範囲制約
viewに以下を実装する。
<% if @usr.errors.any? %>
<div is ="error_explanation">
<h2><%= pluralize(@usr.errors.count, "個") %> のエラーが存在します。</h2>
<ul>
<% @usr.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
以上で上の絵のようなチェックを走らせる事が出来る。簡単。
但し以下の問題点がある。
1.エラーメッセージが英語
2.カラム付近へエラーが出ていない。
3.エラーのカラムが分かりにくい(カラム周囲が色が変われば良い)
4.規約に同意、などといった新規のみチェック等が制御できていない。
明日からは、上記の問題を解決していこうと思う。
0 件のコメント:
コメントを投稿