-1

私は1つのプロジェクトに取り組んでおり、検証が失敗した場合に適切なメッセージを含む検証が必要なフォームが1つあります

検証はフォーマットチェック用です。ユーザーが複数のスペース文字を含む単語を入力しているかどうかを確認する必要があります。つまり

ユーザーが入力した場合

"hello    world"

次に、「無効な形式」と表示されます。正しい形式は次のとおりです。

"hello world"

つまり、1つのスペース文字のみが許可されます。

私はこれを試しました

validates_format_of :name, :with => /\s/

ただし、スペース文字がない場合はエラーが表示されます。

4

1 に答える 1

3

これを試して:

validates_format_of :name, :without => /\s{2,}/, :message => "invalid format"

\sスペースだけでなく、改行、タブなどを含むすべての空白文字に一致することに注意してください。2つ以上のスペース(2つ以上の空白文字ではなく)を一致させたい場合は、次のようになります。

validates_format_of :name, :without => /\ {2,}/, :message => "invalid format"
于 2012-12-07T10:47:34.137 に答える