laravel-如何创建自定义消息包、错误数组
我正在尝试制作自定义消息包,但无法制作,我想使用$errorslaravel-如何创建自定义消息包、错误数组,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())
$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验证来完成这一点你在上面提到的修改了控制器返回,请回复你我的一天:)