1

我想知道是否有办法知道视图中是否存在变量。

我正在为我的应用程序主题创建一个自定义表单的构建器,并且我想将$errors变量包含在 HTML 标记中。有什么方法可以知道它是否以前在视图中设置过?

更新 我的意思是如何访问视图之外的视图变量。如何从其他地方访问 $errors 变量,例如一个包。

我目前正在创建一个自定义表单构建器:

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

它应该打印

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

<p>仅当发现验证此字段的错误时才使用错误标记。我想从我的text()函数中检查$errors.

我试过global $errors在我的函数中使用,但它不起作用......

我希望它更清楚一点;)

使用;D解决Session::get('errors');感谢@machuga。

4

5 回答 5

15

这应该工作

if(isset($var))
于 2013-07-03T12:24:45.520 回答
4

你是在谈论类$errors返回的变量validator吗?如果是这样,请不要使用额外的代码来检查它是否存在。来自 L4 文档:

Laravel 将始终检查会话数据中的错误,并在它们可用时自动将它们绑定到视图。因此,重要的是要注意 $errors 变量将始终在您的所有视图中可用,在每个请求中,允许您方便地假设 $errors 变量始终已定义并且可以安全使用。

简单的检查if( isset($errors))总是会true在 Laravel 4 中返回。

于 2013-07-03T13:12:53.707 回答
0

为此,您可以使用 PHP 的内置函数isset()

代码:

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

希望这可以帮助!

于 2013-07-03T12:27:40.287 回答
0
if(isset($errors) && !empty($errors)){
// your code here
}
于 2013-07-03T12:42:11.980 回答
0

您正在使用刀片代码:

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

于 2017-05-02T23:21:57.953 回答