2012-08-04 149 views
0

是的...(我...再次!)CFWheels - 爲什麼allErrors()返回一個空數組?

我想解決一些錯誤,當我去我的控制器轉儲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 /> 

...再次,一個空數組。

這個世界正在發生什麼?我是一個白癡還是什麼?

謝謝。 Michael。

UPDATE:

好了,看來用我的觀點的作品<cfdump var="#link.allErrors()#" abort />,但不是在控制器?爲什麼不?我需要在控制器中這樣才能重新定向!

回答

2

好吧,我想出了自己。典型的情況是,在發佈問題後,這總是會發生幾分鐘。側面思考?

我必須在link.save()方法之後調用errorsOn()方法。

我在link.save()方法之前聲明瞭這個變量......所以我猜CFWheels從來不知道那個地方有錯誤......因爲顯然你知道錯誤之前沒有嘗試保存對?

BHAM!邏輯。

相關問題