いつもお世話になっております。
表題の件について教えていただきたいことがあります。
まず下記コードをご確認ください。
html
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6</head> 7<body> 8 9<form action="option"> 10 <div> 11 <input type="checkbox" name="option[color]" value="blue"> 12 <input type="checkbox" name="option[color]" value="red"> 13 <input type="checkbox" name="option[color]" value="yellow"> 14 </div> 15 <div> 16 <input type="checkbox" name="option[size]" value="L"> 17 <input type="checkbox" name="option[size]" value="M"> 18 <input type="checkbox" name="option[size]" value="S"> 19 </div> 20</form> 21 22<input type="submit" value="送信"> 23 24</body> 25</html>
php
1<?php 2 3namespace App\Http\Requests; 4 5use Illuminate\Foundation\Http\FormRequest; 6 7class optionRequest extends FormRequest 8{ 9 /** 10 * Determine if the user is authorized to make this request. 11 * 12 * @return bool 13 */ 14 public function authorize() 15 { 16 return true; 17 } 18 19 /** 20 * Get the validation rules that apply to the request. 21 * 22 * @return array 23 */ 24 public function rules() 25 { 26 return array( 27 'option.color' => 'required', 28 'option.size' => 'required' 29 ); 30
この時に、color sizeどちらかが未入力の場合エラーとしたいのですが、どうすればよいでしょうか。
https://readouble.com/laravel/5.5/ja/validation.html#rule-required-without-all
を使い、
php
1 public function rules() 2 { 3 return array( 4 'option.color' => 'required_without_all:option.size', 5 'option.size' => 'required_without_all:option.color' 6 ); 7
この、rule-required-without-allを使えば行けそうなのですが、
個数が増えると、下記のようにすべて書くのが大変そうなのですが、ほかに方法はないでしょうか。
php
1 public function rules() 2 { 3 return array( 4 'option.color' => 'required_without_all:option.size,option.option3,option.option4', 5 'option.size' => 'required_without_all:option.color,option.option3,option.option4' 6 'option.option3' => 'required_without_all:option.color,option.size,option.option4 7 ・ 8 ・ 9 ・ 10 11 ); 12
つたない説明で申し訳ございませんがよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/06 01:07