【问题标题】:CFWheels - Why is allErrors() returning an empty array?CFWheels - 为什么 allErrors() 返回一个空数组?
【发布时间】:2012-08-04 17:59:16
【问题描述】:

是的......(我......再次!)

我正在尝试解决一些错误,当我在我的控制器中转储 allErrors() 时,它只是一个空数组,而我知道它不应该是一个事实。

link.cfc(模型)

<cffunction name="init">

<cfset validate(property='linkURL', method="validateUniqueUrl", when="onCreate") />

</cffunction>

<cffunction name="validateUniqueUrl" access="public">
        <cfif this.exists(where="linkURL='#this.linkURL#'")>
            <cfset this.addError(property="linkURL", name="linkExists", message="The link you entered already exists.") />
        </cfif>
    </cffunction>

如果链接存在,我会在我的视图中正确地得到错误:

<cfoutput>#errorMessagesFor("link")#</cfoutput>

但是,在我的控制器中,我想通过以下方式转储模型上的所有错误:

<cfdump var="#link.allErrors()#" abort />

只是一个空白数组! WTF?!

即使我再尝试:

<cfdump var="#link.errorsOn("link")#" abort />

...再次,一个 EMPTY 数组。

这里到底发生了什么?我是白痴还是什么?

谢谢。 迈克尔。

更新:

好的,所以在我看来使用&lt;cfdump var="#link.allErrors()#" abort /&gt; 似乎可行,但在控制器中却不行?为什么不?我需要在控制器中使用它,以便我可以进行重定向!

【问题讨论】:

    标签: coldfusion railo cfwheels


    【解决方案1】:

    好的,我自己想通了。典型的是,这总是在我发布问题后几分钟发生。横向思维??

    我必须在link.save() 方法之后调用errorsOn() 方法。

    我在 link.save() 方法之前将其声明为变量...所以我猜 CFWheels 那时从来不知道有错误...因为显然您在知道错误正确之前没有尝试保存?

    呸!逻辑。

    【讨论】:

      猜你喜欢
      • 2012-08-26
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 2022-01-09
      • 1970-01-01
      相关资源
      最近更新 更多