0

アイテムが有効な 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'
)

としてではなく、finfoCSS の検出に失敗することが知られているPHP の を使用しているため、失敗していると思います。Laravel の「コンパニオン コード」である Symfony (用語がわからない) には、CSS を正常にクリアする独自の検証クラスがありますか?text/csstext/plain

さらに重要なことは、これについて何ができるでしょうか?

更新: エラー メッセージにカスタム エラー「有効な 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. var_dump($validation->fails())ブール値 を返す場合を除いて、すべて問題ありませんtrue

追加情報はリクエストに応じて提供されます。

ありがとう!

4

0 に答える 0