尝试将字符串验证为布尔Coldfusion

尝试将字符串验证为布尔Coldfusion,coldfusion,Coldfusion,在使用CF10构建电子表格导入器时,我目前正在尝试验证字符串是否完全正确 我的用户将输入以下内容之一 NULL,这将等同于false 这显然等于真 假,这将再次等同于假 我试图使用isValid('boolean',variable.data)来验证数据是否是布尔字符串。然而,在阅读了很多帖子后,我发现如果是正数,它将验证true,如果是负数,它将验证false,等等 我想知道是否有人有一个简单的修复方法可以让布尔验证轻松地为字符串工作?这更像是一个正则表达式场景,以使其正常工作吗 非常感谢您的

在使用CF10构建电子表格导入器时,我目前正在尝试验证字符串是否完全正确


我的用户将输入以下内容之一

  • NULL,这将等同于false
  • 这显然等于真
  • 假,这将再次等同于假
  • 我试图使用
    isValid('boolean',variable.data)
    来验证数据是否是布尔字符串。然而,在阅读了很多帖子后,我发现如果是正数,它将验证
    true
    ,如果是负数,它将验证
    false
    ,等等

    我想知道是否有人有一个简单的修复方法可以让布尔验证轻松地为字符串工作?这更像是一个正则表达式场景,以使其正常工作吗


    非常感谢您的帮助。

    您可以做一些逻辑分析,或者我遗漏了什么

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

    你可以做一些逻辑分析,或者我遗漏了什么

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

    如果您需要评估字符串是“真”还是“假”,那么您不是在进行布尔比较,而是在进行字符串比较


    因此,您可能希望使用or(取决于您需要的严格程度)。

    如果您需要评估字符串是“真”还是“假”,那么您不是在进行布尔比较,而是在进行字符串比较


    为此,您可能希望使用or(取决于您需要的严格程度)。

    假设您指的是文本字符串“NULL”,一个选项是使用列表函数。搜索允许值列表,即“真、假、空”。如果找到条目,则该条目有效:

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

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

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

    该死的,走开一分钟。。。你赢了我!呵呵。对不起,伙计。嘿,利,你存在于推特上还是这个特定网站之外?是的,我在推特上,但只是千载难逢。大多数日子都没多少时间。该死的,走开一分钟。。。你赢了我!呵呵。对不起,伙计。嘿,利,你存在于推特上还是这个特定网站之外?是的,我在推特上,但只是千载难逢。大多数天没有太多时间。FWIW,对于“是”和“1”,也会返回true。我的用户将输入以下任一项。空,这将等同于假真,这显然等同于真假,这将再次等同于假。因此,如果它们是唯一可以输入的东西,那么它将起作用。事实上,在我意识到他最终问的是如何执行像“test”这样的
    IsValid
    ,而不是如何将输入转换为:
    true/value
    。(这就是说,由于他确实提到了与
    IsValid
    类似的问题,所以在执行非字符串比较时提到同样的事情可能不是一个坏主意。只是为了存档。)确认。。该死的打字错误。这应该是:“将输入转换为:true/false”FWIW,对于“yes”和“1”也将返回true。空,这将等同于假真,这显然等同于真假,这将再次等同于假。因此,如果它们是唯一可以输入的东西,那么它将起作用。事实上,在我意识到他最终问的是如何执行像“test”这样的
    IsValid
    ,而不是如何将输入转换为:
    true/value
    。(这就是说,由于他确实提到了与
    IsValid
    类似的问题,所以在执行非字符串比较时提到同样的事情可能不是一个坏主意。只是为了存档。)确认。。该死的打字错误。这应该是:“将输入转换为:true/false”是
    isTrue=compareNoCase(e,“true”)eq 0?真:假
    isTrue=e eq'true'有什么不同?真:假
    我知道我更喜欢哪一个:PYep,它是不同的;-)当
    e=“yes”
    时,后者仍然返回
    true
    。当然,如果你谈论的是经过验证的输入,那么你是对的,它最终没有什么区别?真:假与
    isTrue=e eq'true'有什么不同?真:假
    我知道我更喜欢哪一个:PYep,它是不同的;-)当
    e=“yes”
    时,后者仍然返回
    true
    。当然,如果你谈论的是经过验证的输入,那么你是对的,这最终没有什么区别。