gpt4 book ai didi

forms - 为什么 ColdFusion 认为值 "7+"是一个有效的整数值,我如何验证它不是?

转载 作者:行者123 更新时间:2023-12-05 01:36:35 24 4
gpt4 key购买 nike

我有一个供用户输入数量的表格。该表单具有客户端验证,以确保该值是一个整数并且在给定范围内。操作页面具有服务器端验证,以确保该值是一个大于零的整数。

但是,一种类型的值通过验证并导致我的 INSERT/UPDATE 查询抛出异常。该值是一个带加号的整数 - 即“7+”或“12+”。

当输入这样的值时,ColdFusion 生成的 JavaScript 验证会抛出一个 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 ???

如何解决这个问题并正确验证我的表单输入?

最佳答案

isNumeric(form.itemQuantity)将为“7+”返回 false,因此要完全验证您的输入为 int,您可以执行此操作

<cfif isNumeric(form.itemQuantity) and IsValid("integer", form.itemQuantity) AND form.itemQuantity GT 0>

关于forms - 为什么 ColdFusion 认为值 "7+"是一个有效的整数值,我如何验证它不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7987669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com