2020/11/27  8hレベル上げ

今日の内容

 

 

・ユーザー管理機能のバリデーションの修正

バリデーションを設定

 

”@”がないとエラーになるというバリデーションを設定したかったが

inclusion: { in: "@" }

と入力したがうまく表示されなかった

”@”がないとエラーになるというバリデーションはdeviseに元から導入されているので改めて書く必要のないものだった。

 

数字と文字を含める

validates :password, format: { with: /\A(?=.*?[a-z])(?=.*?\d)\w{6}\z/
 
空だと保存できない、全角ひらがな、全角カタカナ、漢字でないと保存できない
validates :sei, presence: true, format: { with: /\A[ぁ-んァ-ン一-龥]+\z/ }
 
 

・新規登録のテストコード作成 

テストコードはエラーメッセージ名を変更した際はそっちに合わせないと保存できない

validates :password, format: { message: "Include both letters and numbers" }

 

it 'passwordが半角英数字混合でないと登録できない' do
@user.password = 'aaaaaa'
@user.valid?
expect(@user.errors.full_messages).to include('Password Include both letters and numbers')
end

 

 

 

感想

 

 

思ったよりエラーがでてしまう

バリデーション 、deviseの理解が浅いので時間がある時にまとめを作りたい

 

 

今日の一言

 

『諦めたらそこで試合終了』