1

我发现filter_var在使用 PHP 验证和清理用户输入方面非常有用,但我还没有在 ColdFusion(更具体地说,CF8)中找到任何远程方便的东西。

显然,我可以使用REReplace组合一些东西,但这将花费更多时间来编写代码,并且比使用 PHP 中可用的预定义过滤器更难看。有没有更有效的方法,还是我只需要咬紧牙关?

4

1 回答 1

3

您可以使用三种不同的选项。由于您正在尝试管理用户输入,因此我假设您正在使用表单。 isValid最接近模仿您的功能,允许您检查指定的值是否与数据类型或正则表达式匹配并返回 true 或 false,并且默认包含属性以定义范围。但是,除了定义正则表达式之外,它不支持创建自定义“过滤器”的能力。

第二个选项是在您的 POST 处理页面上使用cfparam标记,它允许您指定变量的存在、针对数据类型进行测试或定义正则表达式,如果变量不存在,还可以选择指定默认值。如果您尝试处理未定义字段且未指定默认值的页面,ColdFusion 将引发错误。

最后,您可以在表单本身上使用 cfform 和cfinput字段进行验证;它允许客户端数据验证存在和类型(它也支持服务器端验证,但它的实现是草率的)、正则表达式和输入掩码:获取用户输入的数据并将其符合特定格式(如添加破折号到电话号码和邮政编码)。

于 2012-10-10T14:04:57.153 回答