2013-07-03 83 views
1

我想知道是否有辦法知道變量是否存在於視圖中。如何知道變量是否在視圖中設置

我正在爲我的應用程序主題創建自定義窗體的構建器,並且想要在HTML標記中包含$errors變量。任何方式來知道它是否以前在視圖中設置?

更新 我的意思是如何訪問視圖外的視圖變量。如何從其他地方訪問$ errors var,例如一個包。

我目前正在創建一個自定義表單生成器:

{{ MyFormBuilder::text('name', 'value', array()) }} 

應該打印

<input name="name" value="value" ... /> 
<p>ERRORS NAME REQUIRED</p> 

的錯誤<p>標籤只有當發現錯誤驗證此字段。如果$errors中有錯誤,我想從我的text()函數中檢查。

我已經在我的函數中使用global $errors試過,但它不工作...

我希望這是更清晰一點;)

解決 使用Session::get('errors');; d 感謝@machuga。

+0

@if(!空($ var))或 {{$ var或'undefined'}} –

回答

15

這應該工作

if(isset($var)) 
+0

謝謝,但我的意思是我的更新;) –

0

您可以使用PHP的內置功能isset()用於這一目的。

代碼:

if(isset($errors)){ 
//your code 
} 

希望這有助於!

0
if(isset($errors) && !empty($errors)){ 
// your code here 
} 
+2

'empty'也檢查變量是否存在。所以,'if(!empty($ errors))'就夠了 – FreeLightman

4

你說的到是由validator類返回$errors變量?如果是這樣,不要打擾額外的代碼來檢查它是否存在。從L4文檔:

Laravel將始終檢查會話數據中的錯誤,並自動將它們綁定到視圖(如果它們可用)。因此,重要的是要注意,每個請求中的$ errors變量總是可用於所有視圖中,這使您可以方便地假定$ errors變量始終被定義並且可以安全地使用。

?只需勾選if(isset($errors))將始終Laravel 4

+0

謝謝你,很有用。但仍然需要其他答案...看看我的更新;) –

0

您正在使用刀片 代碼返回true

@if($var) 
 
    --php code-- 
 
@endif

相關問題