Проверка на стороне клиента, обрезка пробелов - gem client_side_validations и Ruby on Rails 3 - PullRequest
0 голосов
/ 17 июля 2011

Я пытался проверить, что имя пользователя имеет длину> 2 на стороне клиента, используя гем client_side_validations.

Серверная часть в моей модели У меня был фильтр before_validation для удаления пробелов, но на стороне клиента ничто не могло бы обрезать пробелы.

Как я могу обрезать пробел, чтобы правильно подсчитать количество символов в поле?

"Люк Скайуокер" должен считать "Люк Скайуокер".

1 Ответ

0 голосов
/ 17 июля 2011

Я сделал это следующим образом:

в rails.validations.js, который вставляет client_side_validations, найдите следующую часть:

var validateElement = function(element, validators) {
    element.trigger('element:validate:before');

и добавьте следующий код после:

element.val( element.val().trim() );

Это удаляет значение элемента DOM и отправляет его для подсчета букв. Это дает дополнительное преимущество: обрезать пробелы и заменять текст непосредственно в поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...