Rails validates_format_of с Regex не работает в случае новой строки - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь проверить буквенно-цифровой ввод, который разрешает пробелы и новые строки

 validates_format_of :field, with: /^[a-zA-Z0-9 ]*$/, multiline: true, allow_blank: true

в моей форме я ввожу этот ввод:

input

И он принимается и проходит проверку

Желаемое поведение - принимать только буквенно-цифровой текст (разрешать пустые) и принимать пробелы / новые строки в любом месте текста.Поэтому отклонять ввод, только если есть буквенно-цифровой символ

1 Ответ

0 голосов
/ 18 ноября 2018

Вы можете использовать

/\A[a-zA-Z0-9 ]*(?:\R[a-zA-Z0-9 ]*)*\z/

См. Демоверсию Rubular .

Подробнее

  • \A - начало строки
  • [a-zA-Z0-9 ]* - 0 или более букв, цифр или пробелов
  • (?:\R[a-zA-Z0-9 ]*)* - 0 или более повторений
    • \R - разрыв строки
    • [a-zA-Z0-9 ]* - 0 или более букв, цифр или пробелов
  • \z - конец строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...