У меня есть форма для пользователей для ввода количеств.Форма имеет проверку на стороне клиента, чтобы убедиться, что значение является целым числом и находится в заданном диапазоне.Страница действия имеет проверку на стороне сервера, чтобы убедиться, что значение является целым числом и больше нуля.
Однако один тип значения проходит проверку и вызывает мои запросы INSERT / UPDATE для создания исключений.Это значение является целым числом со знаком плюс - то есть «7+» или «12+».
Когда вводится такое значение, проверка JavaScript, генерируемая ColdFusion, выдает ошибку JavaScript:
_CF_checkformAddToCart = function(_CF_this)
{
//reset on submit
_CF_error_exists = false;
_CF_error_messages = new Array();
_CF_error_fields = new Object();
_CF_FirstErrorField = null;
//form element itemQuantity 'INTEGER' validation checks
if (!_CF_checkinteger(_CF_this['itemQuantity'].value, false))
{
_CF_onError(_CF_this, "itemQuantity", _CF_this['itemQuantity'].value, "Error on itemQuantity, please enter an integer value for quantity that is not greater than 500");
_CF_error_exists = true;
}
//form element itemQuantity 'RANGE' validation checks
if (!_CF_checkrange(_CF_this['itemQuantity'].value, 0.0,500.0, false))
{
_CF_onError(_CF_this, "itemQuantity", _CF_this['itemQuantity'].value, "Error on itemQuantity, please enter an integer value for quantity that is not greater than 500");
_CF_error_exists = true;
}
}
Как только я отменяю всплывающее окно с ошибкой, оно переходит на страницу действий, гдеЯ [пытаюсь] проверить значение следующим образом:
<cfif IsValid("integer", form.itemQuantity) AND form.itemQuantity GT 0>
<cfquery>
INSERT ....
Однако, если попробовать это ...
<cfset x = Int("7+") />
... ColdFusion выдает ошибку.
Это целое число или нет ColdFusion ???
Как можно обойти это и проверить правильность ввода моей формы?