我想知道如何包含用于表单验证的助手函数。我是laravel的新手,所以我对它的工作原理只有基本的了解,但我甚至不知道如何包含其中包含函数的文件,我想用这些函数来验证表单以进行错误检查。这是我想在所有表格中使用的内容。如何在具有表单的页面上在全球范围内拥有此页面
helper.php
<?php
public function hasError($error) {
if(strlen($error) > 0) {
echo "has-error";
}
}
在这个页面中,我使用hasErrorcreate.blade.php
<div class="form-group <?php hasError($errors->get("keywords")) ?>">
{{ Form::label('keywords', 'Keywords', array('class' => 'col-sm-2 control-label')) }}
<div class="col-sm-10">
{{ Form::text('keywords', NULL, array(
'placeHolder' => 'Keywords',
'class' => 'form-control'
)) }}
如何在控制器中处理验证?当你在验证后像这样返回时:
// Return error
return Redirect::back()
->withInput()
->withErrors($validator);
你可以显示这样的错误:
<small class="red">{{{ $errors->first('keywords') }}}</small>
你也可以用这个来显示特定的类:
{{ $errors->has('keywords') ? 'has-error' : '' }}
示例:
<div class="form-group {{ $errors->has('keywords') ? 'has-error' : '' }}">
--
用于创建帮助程序文件,并"全局"访问它们
创建一个名为:libraries
->app/libraries
的文件夹
在库中创建一个文件(类):Helper.php
然后将此代码添加到Helper.php
:
<?php
class Helper{
public function hasError($error)
{
if(strlen($error) > 0)
{
echo "has-error";
}
}
在应用程序的根目录中编辑composer.json
,并添加:"app/libraries"
示例(composer.json):
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries"
]
},
在您的控制台类型:
composer dump-autoload
现在你可以这样称呼你的"函数":
Helper::hasError($error);