2009-02-23 3 views
1

На протяжении многих лет я немного разбирался в простом JavaScript, но еще не использовал библиотеки JavaScript/AJAX. Для некоторых новых вещей, над которыми я работаю, я хотел бы использовать библиотеку js для проверки на стороне клиента и хочу знать, что было бы лучше для этого. В лучшем случае мои критерии были бы быстрыми и легкими в освоении, с небольшим размером, совместимыми со всеми популярными браузерами.Какую библиотеку JavaScript использовать для проверки на стороне клиента?

Редактировать: Спасибо за предложения ASP, но они не имеют отношения ко мне. Извините, что я не упоминал об этом, но сервер - это Linux-сервер с Apache и PHP. Насколько я знаю, я должен, я планирую выполнить проверку на стороне сервера, но хочу, чтобы проверка на стороне клиента улучшала опыт пользователей и избегала как можно большего отказа сервера от недопустимых входов.

Редактировать 2: Извините, я не отвечал в течение нескольких месяцев! Другие приоритеты подошли и отвлекли меня от этого. Я закончил делать свои собственные процедуры проверки - в дополнение к хорошим моментам, которые были сделаны в некоторых ответах, некоторые из элементов, которые я проверяю, редко используются в других приложениях, и я не мог найти библиотеку с такой проверкой ,

+0

Я, вероятно, проповедую конвертируемому, но обязательно проверяю его на стороне сервера. Клиентский материал должен быть предназначен только для удобства пользователя (уменьшенные круглые поездки и т. Д.). – CJM

ответ

4

Я не использую библиотеки самостоятельно, но нырял в какой-то (например, прототип, (yui-) ext, казалось бы, вездесущий jquery, mootools), чтобы учиться у них и извлекать некоторые из функций или шаблонов, которые они предлагают. Библиотеки (так называемые «рамки») содержат много функциональности, которые мне никогда не нужны, поэтому я написал свой собственный набор функций. Проверка формы довольно сложно стандартизировать (за исключением, возможно, таких вещей, как номера телефонов или поля адреса электронной почты), поэтому я не думаю, что там тоже будет работать инфраструктура. Моим советом было бы проверить, предлагает ли одна из библиотек функциональность, которую вы ищете, и/или используете/переписываете/копируете функции, которые вы можете использовать из них. Для большинства библиотек с открытым исходным кодом можно загрузить несжатый источник.

Нужно сказать (кстати, и, возможно, хорошо известно все), что проверка на стороне клиента считается недостаточной. Вам также нужно будет проверить сторону сервера ввода.

+0

+1: если все, что вы хотите сделать, это базовая проверка формы, нет необходимости в 4000 + линиях jQuery плюс 1000+ линий плагина проверки; мой собственный код проверки формы имеет менее 150 строк ... – Christoph

6

Вы можете использовать jQuery и это Validation plugin.

+0

Я нашел эту комбинацию отличным решением. –

+0

Я согласен, очень комплексное решение. –

1

Я делаю больше всего нового в ASP.NET с AJAX, поэтому я использую валидаторы ASP.NET с расширителями AJAX, и они отлично работают. Однако, если вы не в ASP.NET, это не поможет вам.

Основные возможности JavaScript (jQuery, YUI, Prototype и т. Д.) Имеют возможности проверки, поэтому вы можете их рассмотреть. Но в зависимости от ваших потребностей вы можете считать это излишним.

Раньше (в ASP Classic) Я использовал свой собственный скрипт проверки, который был всего 6 КБ; Я, очевидно, не сейчас, потому что мне нравится согласованность и польский, предлагаемые этими структурами, но YMMV.

2

Перед библиотеками AJAX я использовал Validation.JS от Matthew «Matt» Frank.

Основная идея заключается в том, что вы включаете JS-файл, а затем добавляете атрибуты в свой оператор INPUT.

Пример:

<input name="start-date" type="text" 
    display-name="Start Date" date="MM/YYYY" required="@getRequired()" /> 

поле будет подтверждено в качестве даты в ММ стиле/YYYY. Любое отображаемое сообщение об ошибке относится к полю как «Дата начала». Префикс «@» заставит функцию getRequired() оцениваться во время выполнения.

В стандартной комплектации предусмотрены различные варианты (валюта, дата, телефон, ZIP, минимальное/максимальное значение, максимальная длина и т. Д.), И есть нажатие клавиши; альтернативно, вы можете сворачивать свои собственные - проще всего, просто определяя регулярное выражение для поля, но вы можете добавить функции Javascript для вызова для проверки.

Есть псевдо-события для обработчиков, которые можно поймать до/после поля и формы.

В дополнении к атрибутам в ВХОДЕ заявлении действие проверки может быть применен к полю с помощью JS:

// Set field background when in error state 
document.MyForm["INVALID-COLOR"]="yellow"; 

// Show error messages on field blur 
document.MyForm["SUPPRESS-ONCHANGE-MESSAGE"]=true; 

document.MyForm.MyField.REQUIRED = true; 
document.MyForm.MyField.DisplayName="Password"; 

Validation.JS является 28K (несжатый)

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

Исходный код здесь:

http://code.google.com/p/javascript-form-validation/source/browse/#svn/trunk

и Документы находятся в HTML-файлах - но вы не можете просматривать их как HTML, вы должны загрузить их, а затем просматривать их, насколько как я могу разобрать

+0

Это аналогичный подход к тому, который я использовал в старых сайтах ASP Classic. – CJM

Смежные вопросы