How to write Rails validation

In the output, I will post how to write validation in Rails.

Validation is the verification that the data is correct.

First in the model

user.rb


class User < ApplicationRecord

  validates :nickname, presence: true

            :nickname  #Column name

                       presence: true  #Not empty

Then the controller

user_controller.rb



class UsersController < ApplicationController

  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    if
      @user.valid?   #here! !! here! !! !!
      @user.save
      redirect_to root_path
    else
      render 'new'
    end 
  end

    private

  def user_params
    params.require(:item).permit(
      :nickname
  end
end

Validation is executed by the valid? method. Returns true if validation is successful.

As a flow, check with validation whether the value is entered when saving what was generated by the new action with the create action. If you use the if statement, save it as @ user.save. If empty, alert with render'new'. , ,

ruby:user.html.haml


= f.text_field :nickname, class: "nickname"
.error-messages
  = @user.errors.full_messages_for(:nickname)[0]

In the view, write the nickname to save and the error message display = @ user.errors.full_messages_for (: nickname) [0] to complete.

Recommended Posts

How to write Rails validation
How to write Rails seed
[Rails] How to use validation
How to write Rails routing
[Rails] How to write in Japanese
Rails on Tiles (how to write)
[Rails] How to write exception handling?
How to write dockerfile
How to uninstall Rails
How to write docker-compose
How to write Mockito
How to write migrationfile
Rails: How to write a rake task nicely
[Rails] How to write when making a subquery
[Validation] rails How to specify after today's date
[rails] How to post images
How to write good code
[Rails] How to use enum
Bit Tetris (how to write)
[Rails] How to install devise
[Rails] How to use enum
How to write java comments
How to read rails routes
[Refactoring] How to write routing
Great poor (how to write)
[Note] How to write Dockerfile/docker-compose.yml
How to use rails join
How to write Junit 5 organized
How to terminate rails server
[Ruby] How to write blocks
[Rails] How to disable turbolinks
[Rails] How to use authenticate_user!
[Rails] How to use "kaminari"
[Rails] How to implement scraping
[Rails] How to make seed
[Rails] How to install simple_calendar
[Rails] How to install reCAPTCHA
[Rails] How to use Scope
[Ruby on Rails] How to write enum in Japanese
How to write a date comparison search in Rails
[Rails] How to use gem "devise"
How to deploy jQuery on Rails
[Rails] How to install Font Awesome
[Rails] How to use devise (Note)
[Rails] Two ways to write form_with
[Rails] How to use flash messages
[rails] How to display db information
Studying Java # 6 (How to write blocks)
How to use Ruby on Rails
How to deploy Bootstrap on Rails
[Rails] How to speed up docker-compose
Baseball ball count (how to write)
[Rails] How to add new pages
How to write a ternary operator
[Rails] How to install ImageMagick (RMajick)
How to write Java variable declaration
[Rails] How to install Font Awesome
[Rails] How to use Active Storage
How to introduce jQuery in Rails 6
How to return Rails API mode to Rails
How to get along with Rails