2

モデル内のテキスト フィールドの 1 つでメソッドを使用しvalidatesて、エンド ユーザーが少なくとも 25 行 (Enter キーで区切られている) を入力する必要があるようにしたいと考えています。したがって、今のところ、入力の存在を検証して、空白にならないようにします。

validates :lines, :presence => true

これは、正規表現を使用して、少なくとも 24 ' \n'の存在を確認する必要があります。私のモデルでそれを達成するにはどうすればよいですか?

編集: 値は utf8 である必要があります

4

2 に答える 2

1

たぶん、あなたはvalidateメソッドでそれをしなければなりません:

validate do
  errors.add(:lines, "must be at least 25 lines") if lines.lines.to_a.size < 25
end
于 2012-12-22T11:25:10.053 に答える
0

本当に正規表現で行う必要がある場合は、次のようなものを試してください

/([^\n]*\n[^\n]*){24,}/

ただし、空行もカウントされます。

于 2012-12-22T11:29:30.183 に答える