试图将字符串验证为boolean Coldfusion

use*_*264 1 coldfusion

我正在尝试验证字符串是否完全正确或错误,因为我正在使用CF10构建电子表格导入程序.

我的用户将输入以下其中一项.

  1. NULL,等于false
  2. 是的,显然等于真
  3. FALSE再次等同于假.

我正在尝试使用它isValid('boolean',variable.data)来验证数据是否实际上是一个布尔字符串.然而,在阅读了不少帖子之后,我可以看到它将验证它true是否为正数false是否为负数等.

我想知道是否有人有一个简单的解决方案,让布尔验证很容易为字符串工作?这更像是一个正则表达式方案,使其正常工作吗?

任何帮助非常感谢.

Lei*_*igh 8

假设你的意思是文字字符串"NULL",一个选项是使用列表函数.搜索允许值列表,即"true,false,null".如果找到该条目,则该条目有效:

<cfif listFindNoCase("true,false,null", theValue)>
    this is a valid boolean value
<cfelse>
    not found. do something here...
</cfif>
Run Code Online (Sandbox Code Playgroud)

然后一个简单的字符串比较将返回false除文字字符串"true"以外的所有内容:

  isTrue = compareNoCase(e, "true") eq 0 ? true : false`
Run Code Online (Sandbox Code Playgroud)