试图将字符串验证为boolean Coldfusion

时间:2013-09-17 07:42:33

标签: coldfusion

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

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

  1. NULL,等于false
  2. TRUE,显然等同于真实
  3. FALSE再次等同于假。
  4. 我正在尝试使用isValid('boolean',variable.data)来验证数据是否实际上是一个布尔字符串。但是,在阅读了相当多的帖子后,我发现它会验证true是否为正数,false是否为负数。

    我想知道是否有人轻松修复布尔值验证很容易为字符串工作?这更像是一个正则表达式场景,以使其正常工作吗?

    非常感谢任何帮助。

3 个答案:

答案 0 :(得分:8)

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

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

然后一个简单的string comparison将返回false除文字字符串“true”以外的所有内容:

  isTrue = compareNoCase(e, "true") eq 0 ? true : false`

答案 1 :(得分:4)

如果你需要评估一个字符串是完全“真”还是“假”,那么你没有进行布尔比较,你正在进行字符串比较。

因此,为此,您需要使用compare()compareNoCase()(取决于您需要的严格程度)。

答案 2 :(得分:0)

你可以做一些逻辑,或者我错过了什么。

<cfset booleanResult = enteredValue eq 'TRUE' ? true : false />