2017-05-12 24 views
2

2フィールドのフィールドはvar1var2です。 var2に単語が含まれている場合、両方ともテキストフィールドです__tocken_フィールドvar1が必要です。Laravelのrequired_if値でregexを使用する方法4.2

私はこれを試してみましたが、それはだから私は、私は3番目の変数var3を設定し、フォーム上のvar2が含まれている場合、私はJSの検証をやって提出してる今何をやっている、

$validator = Validator::make(
    ['var1' => 'required_if:var2,regex:/__tocken_/'] 
    //['var2' => ['required', 'regex:/__tocken_/']] //<--Regex is working fine here 
); 

が動作していません__tocken_の単語を入力した場合、var31と設定しています。0です。そして、検証ルールは

$validator = Validator::make(
    ['var1' => 'required_if:var3,1'] //working fine 
); 

は、だから私の質問は、それがrequired_if検証ルールで正規表現正確な値ではなくを持つことが可能であるのですか? var2

  • ため

    サンプルの可能な値こんにちは__FIRST_NAME__、Loremのがispam __tocken_Ur1vG6xK__

  • Loremののispam __tocken_456vG6xK__ Loremの__tocken_T57kq6xK__
  • Loremののispam .. ので、それをチェックアウト
+0

は、おそらくあなたは[カスタムバリデータ]を必要としている(HTTPS:/ /laravel.com/docs/4.2/validation#custom-validation-rules) –

+0

@BagusTesa:はい私はカスタム検証で行うことができますが、より多くの組み込みメソッドを探していました。 –

+0

私は 'var2'のバリデーションルールについて次のように作業するべきだと思います:' ['var2' => '時には| regex:/ __tocken_/| required_with:var1'] ' – revo

答えて

0

上:

$validator->sometimes('var2', 'required', function ($input) { 
    return (bool) preg_match('/__tocken_/', $input->var1); 
}); 
+0

あなたの答えに感謝しますが、私はそれを動作させることができませんでした。 –

関連する問題