Моя модель имеет слизню с дружественным удостоверением личности, а иногда пользователь вводит только цифры и имеет проблемы с доступом к страницам. Затем я хочу изменить проверку модели, кроме только цифр и некоторых специальных символов.Rails4: модель проверяет «формат с» регулярным выражением для столбца слизняка
Вот текущая модель подтверждает
validates :slug, presence: true, length: { maximum: 200 }, uniqueness: true,
format: {with: /\A[^\s!#$%^&*()()=+;:'"\[\]\{\}|\\\/<>?,]+\z/, message: :invalid_slug}
Как я могу добавить здесь ??
Пример:
ток:
'123' => valid
'abc' => valid
'adb?&' => invalid
Новое:
'123' => invalid
'abc' => valid
'adb?&' => invalid
веселит
Вы хотите иметь все специальные символы (кроме? И &) в пули или просто подчеркивание и дефис? –
Как вы генерируете пулю с входа? Почему бы вам не справиться с такими случаями, когда вы создаете пул? – spickermann
Итак, просто добавьте цифры в класс отрицательных символов: '/ \ A [^ 0-9 \ s! # $%^& *()() = + ;: '" \ [\] \ {\} | \\\/<>?,] + \ z/'- это не то, что вам нужно, или вы хотите разрешить цифры + что-то еще и хотите запретить только числовые пули? Затем используйте'/\ A (? ! \ d + \ г) [^ \ S # $%^& *()() = + ;: ' "\ [\] \ {\} |!? \\\/<>] + \ г /' , –