3
"選択"入力からのデータを検証するためにラーベールの "イン"検証を使用したいが、選択のオプションの一部には検証文字列の特殊文字であるカンマ。コンマをエスケープする方法はありますか? 例: 選択肢に "foo"、 "bar"、 "foo、bar"オプションがある場合、次のLaravel検証は機能しません。 "field" => "in:foo、bar、foo、bar"値のコンマでラーバル検証
ヘルプ
"選択"入力からのデータを検証するためにラーベールの "イン"検証を使用したいが、選択のオプションの一部には検証文字列の特殊文字であるカンマ。コンマをエスケープする方法はありますか? 例: 選択肢に "foo"、 "bar"、 "foo、bar"オプションがある場合、次のLaravel検証は機能しません。 "field" => "in:foo、bar、foo、bar"値のコンマでラーバル検証
ヘルプ
してくれてありがとうあなたが代わりにRule
ファサードを使用することができます。
use Illuminate\Validation\Rule;
Validator::make($data, [
'field' => [
Rule::in(['foo', 'bar', 'foo, bar']),
],
]);
もっと検証ロジックはhereを見つけることができます。
これはLaravel 5.4以下では機能しません。 Laravel 5.4では、特殊文字をエスケープするために二重引用符を使用する必要があります。 '' foo、bar、 '' foo、bar '' ''の '' field '=>'(または '' Rule :: in(['foo'、 'bar'、 '"より詳細な情報は、[v5.5](https://github.com/laravel/framework/blob/5.5/src/Illuminate/Validation/Rules/In.php#L37)と[v5.4 ](https://github.com/laravel/framework/blob/5.4/src/Illuminate/Validation/Rules/In.php#L37)。 foo、bar、 "foo、bar"、 "foo" "bar" ''の中の" symbol use ""( '' test' => 'が必須です)をエスケープします。 –