如何在使用ColdFusion时屏蔽是/否YesNoFormat

时间:2017-12-27 20:41:26

标签: coldfusion cfml

有没有办法屏蔽YesNoFormat()的输出,这样就不会显示“是”和“否”,而是显示“有效”和“无效”。

   <cfset currstatus = YesNoFormat(usrStatus)> //Returns Yes. I want this to return active

在显示之前我可以进行if / else检查:如果“Yes”显示“active”,则显示“inactive”。但是我想避免这种情况,因为我必须在很多地方这样做,所以如果他们有任何屏蔽功能/技术可用于此功能,那么只想联系社区。如果没有,有没有其他选择。如果您需要更多详细信息,请发表评论

4 个答案:

答案 0 :(得分:8)

if / else语句的单行版本:

<cfset currstatus = usrStatus ? "active" : "inactive">

答案 1 :(得分:3)

YesNoFormat()不幸doesn't allow to output different strings。 如果您需要在很多地方使用该功能,那么您应该创建自己的功能:

<cffunction name="boolToString" returntype="string">
  <cfargument name="boolVar" type="boolean" required="yes">
  <cfreturn boolVar ? "active" : "inactive">
</cffunction>

答案 2 :(得分:3)

你不能YesNoFormat(value, [maskvalue1, maskvalue2])

但你可以YesNoFormat(value) ? "maskvalue1" : "maskvalue2"

并且由于value必须是数字或布尔值,因此最终会使用

在您的情况下

((value) ? "maskvalue1" : "maskvalue2")

<cfset currStatus = ((usrStatus) ? "active" : "inactive") />

答案 3 :(得分:1)

我能看到的唯一方法是使用if语句。

<cfif usrStatus>
   <cfset currstatus = "active">
<cfelse>
  <cfset currstatus = "inactive">
</cfif>

希望这有帮助。