еще один баг в валидаторе jquery? - PullRequest
0 голосов
/ 19 августа 2009

я использую удаленный метод валидатора для проверки, существует ли имя пользователя в БД

мой сценарий:

  1. форма с одним полем (имя пользователя, конечно)
  2. я заполнил поле
  3. он проходит проверку, но я пока не отправляю форму
  4. собирается в БД, вставляя имя пользователя, которое я заполнил в форму, которую я еще не отправил
  5. возвращаясь к моей форме, нажмите на кнопку отправки.
  6. вуаля, он проходит проверку (вот проблема, если ты еще не понимаешь)

Конечно, я также сделал проверку на стороне сервера, но будет здорово, что проверка для метода remote также сработает при отправке формы

p.s. Я использую версию 1.5.5, но вижу, что эта проблема все еще существует

1 Ответ

2 голосов
/ 19 августа 2009

Если я правильно читаю, jQuery здесь не виноват.

Если это не правильно, дайте мне знать. Я представляю себе регистрационную форму.

Я иду к вашей форме, введите имя пользователя. jQuery говорит, что имя пользователя доступно с использованием техники удаленной проверки.

Прежде чем я нажму кнопку Отправить, кто-то другой отправит ту же форму с тем же именем пользователя и получит ее.

Я все еще могу отправить форму, даже если у меня уже есть имя пользователя.

Это классический сценарий. Проблема параллелизма. Теперь данные устарели, которые были получены проверкой jQuery во время моей регистрации. Вам необходимо настроить этот сценарий на удаленной странице или запустить проверку jquery при отправке формы. Вы можете просто вызвать validate () в вашей форме в методе отправки вашей формы.

...