在ColdFusion中转换为整数; 消毒变量

art*_*ung 4 validation coldfusion

我在ColdFusion生锈了,我已经习惯了PHP这么久了.我想做的是这样的:

<?php
  $id = (isset($_GET['id'])) ? (int)$_GET['id'] : 0;
?>
Run Code Online (Sandbox Code Playgroud)

基本上,检查一个被调用的url参数id,如果它存在,请确保它是一个整数,这样我就可以安全地在数据库查询中使用它.如果它结束为零,那也没关系.

我有:

<cfscript>
if (IsDefined("URL.id") AND IsNumeric(URL.id)) {
    id = int(URL.id);
} else {
    id = 0;
}
</cfscript>
Run Code Online (Sandbox Code Playgroud)

This is working, but is awfully messy. Is there a better way to do this?

小智 10

最新版本的ColdFusion也有一个三元条件运算符:

<cfset id = (structKeyExists(URL, "id") and isNumeric(URL.id)) ? int(URL.id) : 0>
Run Code Online (Sandbox Code Playgroud)