ホームページ > バックエンド開発 > PHPチュートリアル > laravelでの動的フォーム検証は、plabited_ifを使用しています

laravelでの動的フォーム検証は、plabited_ifを使用しています

James Robert Taylor
リリース: 2025-03-06 02:07:09
オリジナル
822 人が閲覧しました

Dynamic Form Validation in Laravel with prohibited_if

Laravelの検証ルールは、相互依存フォームフィールドの処理を簡素化します。 このルールは、他のフィールドの値に基づいてフィールド入力をエレガントに制限し、動的なフォーム検証を強化します。

prohibited_if理解

ルールは、条件が満たされている場合、特定のフィールドが空のままであることを保証します。これは、相互接続されたフィールドを持つ動的な形式に特に便利です。 例:prohibited_if

現実世界のアプリケーション:メンバーシップ登録prohibited_if

専門のメンバーシップ登録システムを検討してください:

use Illuminate\Support\Facades\Validator;

$validator = Validator::make($request->all(), [
    'freelance_company' => 'prohibited_if:type,individual',
    'type' => 'required|in:individual,business'
]);
ログイン後にコピー

この例では:

に基づく条件付きフィールド要件
<?php namespace App\Http\Controllers;

use App\Models\Membership;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;

class MembershipController extends Controller
{
    public function store(Request $request)
    {
        $request->validate([
            'membership_type' => 'required|in:personal,corporate',
            'full_name' => 'required|string|max:255',
            'organization_name' => [
                'prohibited_if:membership_type,personal',
                'required_if:membership_type,corporate',
                'string',
                'max:255',
            ],
            'organization_size' => [
                'prohibited_if:membership_type,personal',
                'required_if:membership_type,corporate',
                'integer',
                'min:1',
            ],
            'tax_id' => [
                Rule::prohibitedIf(fn() =>
                    $request->membership_type === 'personal' ||
                    $request->country !== 'US'
                ),
                'string',
                'size:9',
            ],
        ], [
            'organization_name.prohibited_if' => 'Organization details are unnecessary for personal memberships.',
            'tax_id.prohibited_if' => 'Tax ID is only needed for US-based corporate memberships.',
        ]);
        Membership::create($request->validated());
        return response()->json([
            'message' => 'Membership created successfully'
        ]);
    }
}
ログイン後にコピー
米国のメンバーのみの税IDの検証。

カスタムエラーメッセージをクリアします。
    他の検証ルールとの統合
  • membership_type
  • 複数の条件で拡張する:
  • 複数の条件を追加できます:
コードの読みやすさを維持しながら、複雑な検証ロジックを許可します。 これにより、フォームがユーザー入力コンテキストに効果的に適応するようになります。

以上がlaravelでの動的フォーム検証は、plabited_ifを使用していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート