Проверка корректности данных в полях формы — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Проверка корректности данных в полях формы

2020-04-01 50
Проверка корректности данных в полях формы 0.00 из 5.00 0 оценок
Заказать работу

В Cold Fusion предусмотрен механизм проверки корректности заполнения полей формы. Этот механизм основан на добавлении в форму дополнительных полей типа HIDDEN (скрытые), с именем, составленным из имени поля, значение которого нужно проверить и одного из допустимых в Cold Fusion суффиксов, задающих контекст проверки.

В следующей таблице приведен список всех суффиксов используемых для проверки:

Суффикс Значение атрибута VALUE Описание
_required Текст сообщения об ошибке Проверяется произведен ли ввод в поле формы.
_integer Текст сообщения об ошибке Проверяется, является ли значение, введенное пользователем, целым числом.
_float Текст сообщения об ошибке Проверяется, является ли значение, введенное пользователем, числом.
_range MIN = Минимальное_Значение MAX = Максимальное_Значение Проверяется, находится ли введенное число в определенных границах.
_date Текст сообщения об ошибке Проверяется, находится ли введенная пользователем дата в одном из следующих форматов: DD/MM/YY, DD/MM/YYYY, DD/MM (используется текущий год). В качестве разделителя можно, также, использовать тире (т.е. DD-MM-YY).

Пример
Ниже приведен фрагмент описания формы, состоящий из двух текстовых полей: обязательное для заполнения поле FullName и поле типа дата Birthday, и для каждого из этих полей описано поле типа HIDDEN задающее контекст проверки.

Фамилия Имя Отчество: <INPUT TYPE="TEXT" NAME="FullName">
<INPUT TYPE="HIDDEN" NAME="FullName_required"
VALUE="Фамилия Имя Отчество должны быть заданы!">
Дата рождения: <INPUT TYPE="TEXT" NAME="Birthday">
<INPUT TYPE="HIDDEN" NAME="Birtday_date"
VALUE="Дата рождения должна быть в формате DD/MM/YYYY (например, 20.08.1968)">

Функции вывода в DBML

Для отображения, данные в нужном формате, в Cold Fusion предусмотрены специальные функции. При использовании такой функции, примененной к конкретному параметру, она заключается в символ '#', например, #DateFormat(Form.LastUpdate)#.

Список основных функций

Функция Описание Пример
DateFormat Отображает поле базы данных типа 'дата/время' или 'дата' в формате DD/MM/YY. 12/01/96
TimeFormat Отображает поле базы данных типа 'дата/время' в формате HH:MI AM/PM.. 10:22 AM
NumberFormat Отображает числовые значения как целые числа, разделяя разряды запятой. 10,256
DecimalFormat То же, что и NumberFormat, плюс отображаются два знака после десятичной точки. 10,256.3
DollarFormat То же, что и DecimalFormat, плюс добавляется символ $ и вместо знака минус перед отрицательным значением оно помещается в скобки. $10,256.73
YesNoFormat Отображает данные логического типа как Yes или No. Все ненулевые значения интерпретируются как Yes, нуль - как No. Yes
ParagraphFormat Применяется при отображении данных введенных в поле TEXTAREA. Преобразует символ перевода строки в пробел, два перевода строки подряд - в тег параграфа HTML (<P>).  
HTMLCodeFormat Удаляет символ перевода строки и пропускает все специальные символы (>, <, ", &), применяя к тексту тег преформатирования HTML (<PRE>).  
HTMLEditFormat То же, что и HTMLCodeFormat, только без добавления тега <PRE>.  

Кроме вышеперечисленных есть еще несколько функций обеспечивающих дополнительные возможности манипулирования параметрами в шаблоне:

· ParameterExists

Эта функция проверяет, доступен ли в шаблоне параметр с заданным именем, возвращая Yes или No. Например, чтобы проверить был ли отправлен из формы параметр UserId, используется следующее выражение:

<DBIF #ParameterExists(Form.UserId)# is Yes>

· PreserveSingleQuotes

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

SELECT * FROM Persons WHERE
FullName Like '#PreserveSingleQuotes(Form.FullName)#%'

· URLEncodedFormat

Функция заменяет пробелы на символ "+" и все не латинские символы и цифры - шестнадцатеричным эквивалентом, что позволяет использовать результат в строке URL.

· IncrementValue и DecrementValue

Эти функции возвращают переданный им параметр, прибавив или отняв от него единицу соответственно. Например, чтобы увеличить параметр 'OrderCount' можно воспользоваться следующим выражением:

<DBSET #OrderCount# = #IncrementValue(OrderCount)#

· ValueList и QuotedValueList

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

Например, если запрос возвращает четыре записи, то результат функции ValueList будет иметь вид 11,22,33,44, а результат функции QuotedValueList, примененной к этим же данным, будет возвращать '11','22','33','44'.

Эти функции могут применятся для использования результата одного запроса в операции IN последующего запроса, например:

<DBQUERY NAME="Customers"...определение запроса...>
<DBQUERY NAME="CustomerOrders" DATASOURCE="EXAMPLE"
SQL="SELECT * FROM Orders WHERE Customer_ID
IN (#ValueList(Customer.CustomerID)#)">


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.