suzy1031 / everyday-study-app

0 stars 0 forks source link

model/goal.rbのvalidation設定 #29

Closed suzy1031 closed 3 years ago

suzy1031 commented 3 years ago

integer型からfloat型に変更 => 小数点を扱うフォームの為

rails g migration change_data_target_time_to_goal
# マイグレーションファイル
+change_column :goals, :target_time, :float, null: false
rails db:migrate

数値型で0.1以上168以下のvalidation設定

# model/goal.rb
-numericality: true
+numericality: { greater_than: 0.1, less_than_or_equal_to: 168 }

optionの書き方

numericality: { 追加したいoption: 値, 追加したoption: 値, ・・・ }

参考 Railsガイド

html(vue側)

<input v-model="goal.target_time"
+step="0.1" // 小数点以下第一位まで
+min="0.1" // 0.1以上
+max="168" // 168未満
>

参考 HTML5でこんなに変わったinput要素を徹底解説 (3/5) 残課題 vee-validateなどpluginを使ったvalidationチェック