class ActiveModel::Validations::OnlyPrintableValidator

出力可能なアスキー文字のみかどうかをチェックする(半角英数字+一部の記号)

Public Instance Methods

validate_each(record, _attribute, value) click to toggle source
# File lib/moca_rlibs/active_model_validators/only_printable.rb, line 9
def validate_each(record, _attribute, value)
  return if value.blank?

  value = value.presence.to_s
  return if value.match?(%r{\A[a-zA-Z0-9!"#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~]*\z})

  record.errors.add('contain invalid characters (only printable ascii characters)')
end