Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel-如何创建自定义消息包、错误数组_Laravel - Fatal编程技术网

laravel-如何创建自定义消息包、错误数组

laravel-如何创建自定义消息包、错误数组,laravel,Laravel,我正在尝试制作自定义消息包,但无法制作,我想使用$errors $errorMsgs = []; if (Model::where('name', '=', Input::get('name'))->exists()) { $errorMsgs['company_name'] = 'name already exists'; }else if (Model::where('age', '=', Input::get('age'))->exists())

我正在尝试制作自定义消息包,但无法制作,我想使用$errors

$errorMsgs = [];
    if (Model::where('name', '=', Input::get('name'))->exists()) {
       $errorMsgs['company_name'] = 'name already exists';

    }else if (Model::where('age', '=', Input::get('age'))->exists()) {
        $errorMsgs['primary_phone'] = 'age no already exists';

    }else if (Model::where('mobile', '=', Input::get('mobile'))->exists()) {
        $errorMsgs['primary_mobile'] = 'mobile already exists';

    }else if (Model::where('pri_email', '=', Input::get('primary_email'))->exists()) {
        $errorMsgs['primary_email'] = 'Primary email already exists';

    }else{
// success 


        }
事实上,我想使用errors foreach

 @if ($errors->any())
               <div class="alert alert-danger">
                   <ul>
                       @foreach ($errors->all() as $error)
                           <li>{{ $error }}</li>
                       @endforeach
                   </ul>
               </div>
           @endif
@if($errors->any())
    @foreach($errors->all()作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫
从你的问题中,我看不出为什么不使用开箱即用,它似乎正是为了这个目的。无论如何,手动方式的要点应该是

// Controller
public function WhatEverController()
{
    $data = [];

    $errorMsgs = [];
    if (Model::where('name', '=', Input::get('name'))->exists()) {
       $errorMsgs['company_name'] = 'name already exists';

    }
    if (Model::where('age', '=', Input::get('age'))->exists()) {
        $errorMsgs['primary_phone'] = 'age no already exists';

    }
    if (Model::where('mobile', '=', Input::get('mobile'))->exists()) {
        $errorMsgs['primary_mobile'] = 'mobile already exists';

    }
    if (Model::where('pri_email', '=', Input::get('primary_email'))->exists()) {
        $errorMsgs['primary_email'] = 'Primary email already exists';
    }

    if(count($errorMsgs)) {
        return  redirect()->back()->withErrors($errorMsgs);
    }

    return view('someview');
}


// Blade
@if(count($errors))
<div class="alert alert-danger">
    <ul>
        @foreach ($errors as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif
//控制器
公共函数WhatEverController()
{
$data=[];
$errorMsgs=[];
如果(Model::where('name','=',Input::get('name'))->exists()){
$errorMsgs['company_name']='name已经存在';
}
if(Model::where('age','=',Input::get('age'))->exists()){
$errorMsgs['primary_phone']=“年龄不存在”;
}
if(Model::where('mobile','=',Input::get('mobile'))->exists()){
$errorMsgs['primary_mobile']='mobile已经存在';
}
if(Model::where('pri_-email','=',Input::get('primary_-email'))->exists()){
$errorMsgs['primary_email']='primary email已经存在';
}
如果(计数($errorMsgs)){
return redirect()->back()->withErrors($errorMsgs);
}
返回视图(“someview”);
}
//刀片
@如果(计数($errors))
    @foreach($errors作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫

还有一个细节,如果您使用
if/elseif
,它将在第一次匹配时始终停止,因此始终最多有一个
$errorMsg
。我已将其更改为许多
if
语句,因为这将提供获取一系列错误的机会。

我无法从您的问题中看出为什么不使用开箱即用,它似乎正是为了这个目的。无论如何,手动方式的要点应该是

// Controller
public function WhatEverController()
{
    $data = [];

    $errorMsgs = [];
    if (Model::where('name', '=', Input::get('name'))->exists()) {
       $errorMsgs['company_name'] = 'name already exists';

    }
    if (Model::where('age', '=', Input::get('age'))->exists()) {
        $errorMsgs['primary_phone'] = 'age no already exists';

    }
    if (Model::where('mobile', '=', Input::get('mobile'))->exists()) {
        $errorMsgs['primary_mobile'] = 'mobile already exists';

    }
    if (Model::where('pri_email', '=', Input::get('primary_email'))->exists()) {
        $errorMsgs['primary_email'] = 'Primary email already exists';
    }

    if(count($errorMsgs)) {
        return  redirect()->back()->withErrors($errorMsgs);
    }

    return view('someview');
}


// Blade
@if(count($errors))
<div class="alert alert-danger">
    <ul>
        @foreach ($errors as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif
//控制器
公共函数WhatEverController()
{
$data=[];
$errorMsgs=[];
如果(Model::where('name','=',Input::get('name'))->exists()){
$errorMsgs['company_name']='name已经存在';
}
if(Model::where('age','=',Input::get('age'))->exists()){
$errorMsgs['primary_phone']=“年龄不存在”;
}
if(Model::where('mobile','=',Input::get('mobile'))->exists()){
$errorMsgs['primary_mobile']='mobile已经存在';
}
if(Model::where('pri_-email','=',Input::get('primary_-email'))->exists()){
$errorMsgs['primary_email']='primary email已经存在';
}
如果(计数($errorMsgs)){
return redirect()->back()->withErrors($errorMsgs);
}
返回视图(“someview”);
}
//刀片
@如果(计数($errors))
    @foreach($errors作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫

还有一个细节,如果您使用
if/elseif
,它将在第一次匹配时始终停止,因此始终最多有一个
$errorMsg
。我已将其更改为许多
if
语句,因为这将提供获取错误数组的机会。

\Session::flash('errors',$array)
应该涵盖它,不是吗?然而,我建议改用验证器-,它们就是为了这个目的,而且很容易实现。我不是在做表单验证,我在检查重复条目,如果发现任何重复条目,那么错误应该返回消息bagValidator有一个
唯一的
属性,用于您没有得到的目的,请再次阅读问题我想为错误创建消息包,然后我将使用foreach
\Session::flash('errors',$array)
进行回音,是否?然而,我建议改用验证器-,它们就是为了这个目的,而且很容易实现。我不是在做表单验证,我在检查重复条目,如果发现任何重复条目,那么错误应该返回消息bagValidator有一个
唯一的
属性,用于您没有得到的目的,请再次阅读问题我想为错误创建消息包,然后我将使用foreachi回音尝试您的代码,它会向数组上的成员函数any()抛出error error exception(E_error)调用(View:/var/www/html/cb/resources/views/frontend/company/user/index.blade.php)好的,你做得很好,你离我很近,我需要同样的东西,但当我们在数组中出现错误时,我想回显它们,但使用我在上面发布的php html,我如何使用上面提到的laravel验证来完成这一点修改了控制器返回,请回复我的一天:)我尝试了你的代码,它抛出错误ErrorException(E_error)调用数组上的成员函数any()(View:/var/www/html/cb/resources/views/frontend/company/user/index.blade.php)好的,你做得很好,你离我很近,我需要同样的东西,但当我们在数组中出现错误时,我想回显它们,但使用我在上面发布的php html,我如何使用laravel验证来完成这一点你在上面提到的修改了控制器返回,请回复你我的一天:)