Laravel5フォームリクエストデータの事前操作

Jonathon

ユーザーが生年月日を更新できるフォームを処理しています。フォームは、ユーザのための3つの別々のフィールドを与えdaymonthそしてyearもちろん、サーバー側では、これら3つの別々のフィールドを1つの値として扱いたいと思いますyyyy-mm-dd

だから、検証と私のデータベースを更新する前に、私が作成するフォーム要求を変更したいdate_of_birth連結することで、フィールドをyearmonthdayして-日付書式Iの必要性を作成します(そしておそらく、元の3つのフィールドの設定を解除)する文字。

私のコントローラーでこれを手動で達成することは問題ではありません。入力を取得し、-文字で区切られたフィールドを結合して、設定を解除するだけです。その後、処理を処理するコマンドに渡す前に、手動で検証できます。

ただし、FormRequest検証を処理するためにを使用して、それをコントローラーメソッドに注入することをお勧めします。したがって、検証を実行する前に、フォームリクエストを実際に変更する方法が必要です。

私は似たような次の質問を見つけました:Laravel5リクエスト-データの変更

allフォームリクエストのメソッドをオーバーライドして、検証前にデータを操作するためのロジックを含めることをお勧めします。

<?php namespace App\Http\Requests;

class UpdateSettingsRequest extends Request {

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [];
    }

    public function all()
    {
        $data = parent::all();
        $data['date_of_birth'] = 'test';
        return $data;
    }

これはすべて検証に適していますが、allメソッドをオーバーライドしても、フォームリクエストオブジェクトのデータは実際には変更されません。したがって、コマンドの実行に関しては、フォームリクエストには元の変更されていないデータが含まれています。オーバーライドされたallメソッドを使用してデータを引き出す場合を除きます。

特定のメソッドを呼び出す必要のない、フォームリクエスト内のデータを変更するためのより具体的な方法を探しています。

乾杯

ジュリア・シェスタコワ

Laravel5.1ではそれができます

<?php namespace App\Http\Requests;

class UpdateSettingsRequest extends Request {

public function authorize()
{
    return true;
}

public function rules()
{
    return [];
}

protected function getValidatorInstance()
{
    $data = $this->all();
    $data['date_of_birth'] = 'test';
    $this->getInputSource()->replace($data);

    /*modify data before send to validator*/

    return parent::getValidatorInstance();
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravel5パラメーターを使用したフォームリクエストの検証

分類Dev

Laravel5リクエスト-データの変更

分類Dev

禁止されたエラーを返すLaravel5フォームリクエストの検証

分類Dev

Laravel5でフォームリクエストの検証後に古い入力を渡す

分類Dev

Laravel5のフォーム変更リクエストが検証動作に失敗しました

分類Dev

Laravel5でフォーム作成リクエストが404例外をスローするのはなぜですか?

分類Dev

ScrapyのPOSTリクエストフォームデータ

分類Dev

JSONフォームデータのリクエストを取得

分類Dev

GETAPIリクエスト-フォームのデータ型

分類Dev

フォームなしでlaravel5コントローラー内のデータベースに手動でデータを挿入します

分類Dev

Laravel5.3メール送信可能ビューでのフォームリクエストデータの使用

分類Dev

Laravel5.5フォーム検証リクエスト固有のルールデータなし

分類Dev

Laravel5アプリにフォームリクエストを送信するときにhtmlページから_tokenを取得して送信する方法

分類Dev

Laravelのフォームリクエストでデータを検証する際の問題

分類Dev

フォーム外のLaravelDELETEリクエスト-データの取得

分類Dev

配列に対するLaravel5データベースのようなクエリ

分類Dev

ScalaとAkkaHTTP:フォームデータリクエストの処理

分類Dev

ajaxリクエストの不完全なフォームデータ

分類Dev

ajaxリクエストを使用したフォームデータの保存

分類Dev

(Laravel)フォームリクエストファイルをデータベースに保存する

分類Dev

Laravel5コントローラーはajaxフォームからデータを受信しません

分類Dev

Laravelフォームのリクエストと検証

分類Dev

Laravelでのフォームリクエスト

分類Dev

フォームリクエスト検証でのLaravelカスタムフィールド名

分類Dev

Laravel5フォームモデルバインディングチェックボックス値

分類Dev

Laravel5フォームの送信でエラーが発生するMethodNotAllowedHttpException

分類Dev

リクエストが失敗した場合のLaravel5は、モデルデータとともに返されます

分類Dev

追加のクエリを含むLaravel5スコープ

分類Dev

laravel5.1でリクエストのデフォルトデータベースを変更する

Related 関連記事

  1. 1

    Laravel5パラメーターを使用したフォームリクエストの検証

  2. 2

    Laravel5リクエスト-データの変更

  3. 3

    禁止されたエラーを返すLaravel5フォームリクエストの検証

  4. 4

    Laravel5でフォームリクエストの検証後に古い入力を渡す

  5. 5

    Laravel5のフォーム変更リクエストが検証動作に失敗しました

  6. 6

    Laravel5でフォーム作成リクエストが404例外をスローするのはなぜですか?

  7. 7

    ScrapyのPOSTリクエストフォームデータ

  8. 8

    JSONフォームデータのリクエストを取得

  9. 9

    GETAPIリクエスト-フォームのデータ型

  10. 10

    フォームなしでlaravel5コントローラー内のデータベースに手動でデータを挿入します

  11. 11

    Laravel5.3メール送信可能ビューでのフォームリクエストデータの使用

  12. 12

    Laravel5.5フォーム検証リクエスト固有のルールデータなし

  13. 13

    Laravel5アプリにフォームリクエストを送信するときにhtmlページから_tokenを取得して送信する方法

  14. 14

    Laravelのフォームリクエストでデータを検証する際の問題

  15. 15

    フォーム外のLaravelDELETEリクエスト-データの取得

  16. 16

    配列に対するLaravel5データベースのようなクエリ

  17. 17

    ScalaとAkkaHTTP:フォームデータリクエストの処理

  18. 18

    ajaxリクエストの不完全なフォームデータ

  19. 19

    ajaxリクエストを使用したフォームデータの保存

  20. 20

    (Laravel)フォームリクエストファイルをデータベースに保存する

  21. 21

    Laravel5コントローラーはajaxフォームからデータを受信しません

  22. 22

    Laravelフォームのリクエストと検証

  23. 23

    Laravelでのフォームリクエスト

  24. 24

    フォームリクエスト検証でのLaravelカスタムフィールド名

  25. 25

    Laravel5フォームモデルバインディングチェックボックス値

  26. 26

    Laravel5フォームの送信でエラーが発生するMethodNotAllowedHttpException

  27. 27

    リクエストが失敗した場合のLaravel5は、モデルデータとともに返されます

  28. 28

    追加のクエリを含むLaravel5スコープ

  29. 29

    laravel5.1でリクエストのデフォルトデータベースを変更する

ホットタグ

アーカイブ