JQuery проверить установить фокус на ошибку не работает на элементах FormHelper - PullRequest
0 голосов
/ 12 августа 2010

Я использую проверку монорельсовой дороги и jQuery.Проблема заключается в том, что при использовании FormHelpers, например:

$FormHelper.TextField("user.username")

, он генерирует следующий HTML-код:

<input type="text" value="" name="user.username" id="user_username">

Он также генерирует следующее правило проверки jQuery (через атрибут ValidateRegExp activerecord):

"user.username":{  required: "This is a required field" , regExp: "Invalid" }

Проблема в том, что автоматически сгенерированный идентификатор имеет подчеркивание вместо точки, поэтому jQuery не может найти его при установке фокуса на недопустимое поле.

Это кажетсякак неотъемлемая проблема в монорельсовой железе, Active Record и JQuery интеграции.Как люди обходят эту проблему?В некоторых случаях вы можете просто создать html вручную и убедиться, что атрибуты id и формы одинаковы, но во многих случаях вам нужно использовать FormHelpers, так как при редактировании форм значения не заполняются, если вы не используете этих помощников, которых я нашел.

1 Ответ

0 голосов
/ 16 августа 2010

Помощники - это просто оболочка для конкатенации строк. например, для значения, которое вы хотите заполнить, вы можете <input type="text" .... value="<%=user.username%>" />

Что касается правил проверки jQuery, AFAIK необходимо указать поля формы по их атрибуту имени, а не по атрибуту id

...