Laravel 4 CSS文件验证失败

时间:2013-07-26 13:59:09

标签: php laravel mime-types laravel-4

我有一个上传表单,其中包含验证检查项目是否是有效的CSS文件。我尝试上传.css文件,但验证失败。

这是我尝试验证控制器上代码的位置:

private function _queueArticle($ref = NULL)
{

    $input = Input::all();
    $vrules = Config::get('validation.queue_article');

    //validate inputs
    $validation = Validator::make($input, $vrules);
    if ( $validation->fails() ) {
        return ( $ref === NULL ) ? 
            Redirect::to($redir_path)->withErrors($validation)->withInput() :
            Redirect::to($redir_path)->withErrors($validation);
    }

}

这是$vrules

'queue_article' => array(
    'title' => 'required|max:255',
    'body' => 'required',
    'slug' => 'unique:articles,slug',
    'hero' => 'required|image',
    'custom_css' => 'mimes:css'
)

我认为它失败了,因为它使用的是PHP finfo,已知它无法将css检测为text/css,而是text/plain。 Symfony,Laravel的“伴侣代码”在这里(不知道这个术语),是否有自己的验证类,可以成功清除CSS的内容?

更重要的是,我该怎么办?

更新:错误消息显示我的自定义错误“请上传有效的CSS文件”。来自app / lang / en / validation.php:

'custom' => array(
    'password_old' => array( 'required' => 'Please enter your current password.' ),
    'password' => array( 'confirmed' => 'The new passwords don\'t match.' ),
    'hero' => array(
        'required' => 'A header image is required.',
        'image' => 'The header file you included is not valid. Please upload a valid image.'
    ),
    'custom_css' => array('mimes' => 'Please upload a valid CSS file.')
)

更新2 :我检查了var_dump($validation)并在数组messagesfailedRules上显示零内容。它还显示了mime类型为text/css的CSS文件。一切都很好,呃,除非我var_dump($validation->fails())返回true的布尔值。

将根据要求提供其他信息。

谢谢!

0 个答案:

没有答案