Coldfusion url quesiton

时间:2016-09-26 14:56:55

标签: validation url coldfusion

我有一个关于在coldfusion中验证表单和url变量的问题。这可能是一个非常基本的问题,但请耐心等待。例如,我有一个看起来像https://dev.abc.com/test.cfm?page_id=4&id=54658的网址,但是我更新了网址,看起来像是:https://dev.abc.com/test.cfm?page_id=4&id=546589687534,在这种情况下,网页出错了,我收到了“无效数据23254523456 for CFSQLTYPE CF_SQL_INTEGER “在cfc电话上。当用户使用URL变量进行干预并确保页面没有错误输出时,如何在这种情况下检查url变量。与表单字段类似。我正在使用下面的regexreplace来清理表单字段,然后再进行处理。

<cfset srchvar = ReReplace(srchvar,"\b(\w)","\u\1","ALL") />
<cfset srchvar = REReplace(srchvar,"[^0-9A-Za-z ]","","all") />

是否需要应用其他任何检查。任何建议都非常感谢。谢谢

2 个答案:

答案 0 :(得分:2)

  

如何在用户时检查这种情况下的url变量   使用URL变量进行干预并确保页面没有错误输出?

<cfif !isValid('integer',URL.id)>
    <!--- Gracefully handle the error here --->
</cfif>

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7fb9.html

  

是否需要应用任何其他检查。

我通常会尝试在将数据丢入数据库或使用之前验证所有数据。我使用isValid来检查数据类型,检查或修剪可能太长的字符串,在我不接受NULL时验证数据是否存在。这样,我的数据库不必在插入时抛出错误,而是我可以在该步骤之前捕获它。

答案 1 :(得分:0)

我猜你的整数对于你正在使用的数据库/驱动程序类型来说太大了。如果你正在使用JDBC:

  

JDBC类型INTEGER表示一个32位有符号整数值,范围在-2147483648和2147483647之间。