2015-08-14 33 views
1

对于窗体的字段,我可以在窗体的字段中使用它,并且可以在窗体中很好地处理错误。窗体中的自定义错误处理(Laravel 5)

@if($errors->any()) 
     <div class="alert alert-error"> 
     <a href="#" class="close" data-dismiss="alert">&times;</a> 
      {!! implode('', $errors->all('<li class="error">:message</li>')) !!} 
     </div> 
@endif 

public function rules()

不过,我想用同样的概念对我的自定义错误的形式,我相信我能不能与rules()实现。

在我的控制,我有:

if ($fileExtension != 'pdf') 
    { 
     // needs proper handling 
    } 

如何编辑// needs proper handling一部分,这样我可以用相同的刀片概念,使用它呢?

回答

1

有可以使用MIME类型的规则:

'yourFile' => 'mimes:pdf' 

如果您运行不仅仅是一个验证的更多,你可以使用这个较长的方法:

$validator = Validator::make(...); 

$validator->after(function($validator) { 
    if ($fileExtension != 'pdf') { 
     #here is place for more stuff... 
     $validator->errors()->add('field', 'Something is wrong with this field!'); 
    } 
}); 
+0

谢谢,但怎么样,如果我有多次检查,如if条件,我不能用'mimes'。就像你的第二个验证码一样,我可以在那里插入更多的if语句吗?也许'文件大小'或'如果文件存在'?谢谢 – senty

+1

http://laravel.com/docs/5.1/validation#rule-size会给你更多的信息。你可以检查一切,如果你不满意它,你会添加一个错误'$ validator-> errors() - > add('field','这个字段有问题!');' – mimo

+0

我很困惑这个更长的方法。有没有办法把所有的验证(包括自定义'if's'和laravel''size','required'等)放在'rules'(Request)中?或者我需要将一些内容放入控制器和其他请求中?我试图问,是否有办法在validation_中输入自定义的多个错误处理。 – senty