Help us understand the problem. What is going on with this article?

Ruby on Rail 投稿系アプリ で 文字数 制限 をする 方法

目的

  • Ruby on RailsでTwitterのような投稿ができるアプリケーションを作成した際、「空欄で投稿できないようにする」や「投稿文字数制限」を行う方法を知る

押さえるポイント

  • バリデーション処理を記載することで対応する。
  • バリデーション処理はモデルファイルに記載する。

書き方の例

  • 本記載は検証を行いたいカラムが存在するテーブルのモデルファイルに記載する。
  • 下記にバリデーションによりカラムのデータ検証を行う方法を記載する。
validates :検証するカラム名, {検証内容}
  • 同じカラムに対する検証なら、まとめて記載することができる。
  • 下記にバリデーションによりカラムのデータを複数の検証項目で検証するときの方法を記載する。
validates :検証するカラム名, {検証内容1, 検証内容2}

より具体的な例

  • 投稿内容がcontentカラムに格納される際に空の投稿は行えないように検証する。
  • 下記に前述の内容の処理を記載する。
validates :content, {presence: true}
  • 投稿内容が140文字以下である場合のみ投稿を行えるようにする。
  • 下記に前述の内容の処理を記載する。
validates :content, {lengh: {maximum: 140}}
  • 前述の二つのバリデーションの検証内容を一つにまとめて記載する。
  • 下記に前述の内容の処理を記載する。
validates :content, {presence: true, lengh: {maximum: 140}}
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away