文字列の検証を使用しようとしていますが、何らかの理由で特殊文字が通過し続け、ここで何が欠落しているのか理解できません。
これが私が現在モデルに持っているものです
validates :name, presence: true, uniqueness: true, format: { with: /[a-z0-9A-Z]/ , :message => "is not valid" }
私も試しました
validates :name, presence: true, uniqueness: true, format: { with: /\A[a-z0-9A-Z]\z/ , :message => "is not valid" }
文字列には文字または数字のみが含まれ、スペースを含めることができることを検証する必要があります。したがってtest 03
、有効ですが、そうではありtest ***
ません。https://rubular.com/で正規表現を実行すると、これらの文字と一致しないため、この検証が失敗する原因になると思いますが、何らかの理由で最後の正規表現が通過し続けます。
どんな助けでも大歓迎です。
私はRUBYを使用していませんが、この正規表現構文を試してください。これには、a-zA-Z0-9と少なくとも1文字のみが必要です。
/\A[a-z0-9A-Z ]+\z/
または、文字列の長さが0の場合は、これ:
/\A^[a-z0-9A-Z ]*\z/
-スペースのサポートを含むように更新
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加