Сообщение о дезинфицированном пользовательском вводе пользователю через AJAX - PullRequest
1 голос
/ 17 мая 2010

Я пишу некоторый код, чтобы дать живой отзыв пользователю о проверке формы с использованием AJAX. У меня есть проверка длины и если поле пустое. Теперь я хочу, чтобы он санировал пользовательский ввод, и если санированный ввод отличается от исходного ввода пользователя, скажите им, какие символы недопустимы.

Код, который я написал до сих пор, работает, за исключением некоторых символов, в частности символ «'», не дает ответа. Я думаю, что это относится к json_encode и его кодированию.

Вот код:

  $user_input = 'asdfsfs£';
  $strip_array = str_split(strip($user_input));
  $orig_array = str_split($user_input);
  $diff_array = array_diff($orig_array,$strip_array);
  $diff_str = implode(', ',$diff_array);
  $final = json_encode($diff_str);

  function strip($input){return htmlentities(strip_tags($input),ENT_QUOTES);}

Надеюсь, кто-нибудь может найти решение.

1 Ответ

0 голосов
/ 18 мая 2010

если это должно быть сделано через AJAX, то вам нужно написать функцию javascript для достижения этой цели.

Пусть сервер вернет объект JSON в формате

{
    original: 'asdfsfs£',
    edited: 'asdfsfs',
    illegalChars: ['£']
}

в вашем html, вы должны иметь пустые элементы рядом с полями ввода формы, где вы можете вывести сообщение проверки формы

<input type="text" id="myTextField" />
<span id="myTextFieldLabel" />

теперь позвольте вашему javascript обновлять содержимое компонента myTextFieldLabel в соответствии с данными проверки

Sean

...