BackEnd

Railsのバリデーション

投稿日:

はじめに

今回はRailsのActiveRecordのバリデーションについて簡単にまとめます。

基本的なバリデーション

ある属性に必ず値が入っていること、何文字以内であることなど、一つの属性に対するバリデーションは下記のように行えます。

 

EachValidatorクラス

EachValidatorクラスを継承したクラスを定義すると、一つの属性に対して新しい検証ルールを追加することができます。

バリデータの適用は下記のとおりです。
 

 

Validatorクラス

Validatorクラスを継承したクラスを定義すると、複数の属性が絡むような複雑な検証ルールを定義できます。

バリデータの適用は下記のとおりです。
 

 

autoload_pathsの編集

今回はバリデータクラスをlib/validator/以下のディレクトリに配置しました。
このディレクトリはそのままでは読み込まれないので、config/application.rbを修正します。

 

さいごに

RailsのActiveRcoredのバリデーションについて紹介しました。

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Git】マージコミットを消したい

1 はじめに2 例えばこんなことってないでしょうか?3 マージコミットを消す4 さいごに はじめに こんにちは、tonnyです。 今回はGitのケーススタディ的なものを書きたいと思います。 反面教師と ...

rails

RailsでERBからJavaScriptにhashを渡す方法

1 はじめに2 カスタムデータ属性とは3 実装例3.1 コントローラの実装3.2 ビューの実装3.3 実行結果4 さいごに はじめに 以前、選択したプルダウンメニューに応じて別のプルダウンメニューの内 ...

rails

Rails5で出力される「alias_method_chain is deprecated.」について

1 はじめに2 alias_method_chainとは3 Module#prependとは4 とりあえず、DEPRECATION WARNINGの出力をなくしたい5 さいごに はじめに 直近のプロジ ...

rails

Ruby、Railsの時間に関するメソッドを使用してみた

はじめに 普段PHPのお仕事をしています、tonnyです。 半年程前からRuby on Railsの勉強を始めました。 今回はよく使う時間に関するメソッドついてまとめたいと思います。 目次 1 はじめ ...

icon

PHP、Ruby、Pythonのfor構文を比較してみた

1 はじめに1.1 環境2 ドキュメント2.1 PHP2.2 Ruby2.3 Python3 1から100まで出力してみる3.1 PHP3.2 Ruby3.3 Python4 リスト型(配列)の出力4 ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年12月
 12
3456789
10111213141516
17181920212223
24252627282930
31 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。
Get it on App Store
Get it on Google Play