我正在尝试验证字符串是否完全正确或错误,因为我正在使用CF10构建电子表格导入程序。
我的用户将输入以下其中一项。
我正在尝试使用isValid('boolean',variable.data)
来验证数据是否实际上是一个布尔字符串。但是,在阅读了相当多的帖子后,我发现它会验证true
是否为正数,false
是否为负数。
我想知道是否有人轻松修复布尔值验证很容易为字符串工作?这更像是一个正则表达式场景,以使其正常工作吗?
非常感谢任何帮助。
答案 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 />