Я хочу, чтобы модель рельсов исключала определенные шаблоны: пробеги двух или более пробелов.validates_format_of для исключения определенных шаблонов
User.name = "Harry Junior Potter"
действителен, но User.name = "Harry Junior Potter"
не является (два пространства между Гарри и младшим). Это во избежание кражи личных данных, где эти два имени отображаются одинаково (HTML сжимает пробелы пробелов).
Иными словами: Разрешены: [0-9A-z_-]
и '\s
только в серии из одного'.
Моя регулярное выражение слишком бедна, чтобы выработать такое регулярное выражение, это то, что у меня есть (с отрицательным lookahead, но это не соответствует правильно
/([0-9A-z_\-])(\s(?!\s))?/
Примечание:. Before_validation крюк уже полоса () s все элементы, поэтому пробелы в начале или конце строки не являются проблемой.
Я действительно не понимаю, что вы имеете в виду "и не будет соответствовать многим настоящим именам". Я специально упустил акценты и никаких персонажей ascii, чтобы сосредоточиться на проблеме двойных пространств. (первое тонкое приложение gmy, которое нужно сделать, после этого принимает мое собственное имя, Bèr :) – berkes
Это именно то, что я имел в виду. Я просто хотел отвлечься от комментариев (от кого-либо) о проблемах, не связанных с пробелами. –