Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sjis_bytesize バリデーションエラー時のメッセージをわかりやすく #20

Merged
merged 3 commits into from
Oct 3, 2017

Conversation

kakipo
Copy link
Member

@kakipo kakipo commented Oct 3, 2017

やりたいこと

sjis_bytesize バリデータは sjis 換算のバイト数を検証する。

例:

# first_name は sjis 換算で 4 バイト以上
validates :first_name, charset: { accept: [:all] }, sjis_bytesize: { minimum: 4 }

例えば、上記のような定義の場合に first_name に「健太郎」などと設定すると
first_name は 4 文字以内で入力してください。 というバリデーションエラーメッセージが表示される。

「あれ。3 文字で設定してるのに〜 ❓ 」というユーザの混乱を避けるためにも、
適切なエラーメッセージを表示したい。

やったこと

ActiveModel の LengthValidator と共用していたエラーメッセージのキーを変更しました。

  • too_long -> too_long_in_bytes
  • too_short -> too_short_in_bytes
  • wrong_length -> wrong_length_in_bytes

やらなかったこと

🍣

確認方法

# kirico ディレクトリ直下で bundle exec pry
require 'kirico'

I18n.locale = :ja

rec  = Kirico::FDManagementRecord.new
rec.area_code = '012'
rec.valid? #=> false
rec.errors #=> 略

@aoyagi-san
Copy link

@purintai @meganemura

@kakipo kakipo merged commit 049fa08 into kufu:master Oct 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants