バリデーションルールが思う通りに動いてくれない。
環境
- PHP 7.2
- Laravel 5.3
期待する動き
送られてきた'quantity'データが1~12の数字であることをバリデーションする。
コードと挙動
セレクトボックスで送った値をバリデーションしています。
1,10,11,12の数字の時は通り、2~9の時のみバリデーションエラーがはかれます。
バリデーションエラーメッセージ
The quantity must be between 1 and 12 .
FormRequest
php
1 public function rules() 2 { 3 return [ 4 "quantity" => 'numeric | between:1,12 | required', 5 ]; 6 }
Contoroller
php
1 public function add(CartFormRequest $req){ 2 $this->cartService->add_cart($req); 3 return view('cart.add'); 4 }
blade
php
1 <select name="quantity"> 2 <option value="1">1</option> 3 <option value="2">2</option> 4 <option value="3">3</option> 5 <option value="4">4</option> 6 <option value="5">5</option> 7 <option value="6">6</option> 8 <option value="7">7</option> 9 <option value="8">8</option> 10 <option value="9">9</option> 11 <option value="10">10</option> 12 <option value="11">11</option> 13 <option value="12">12</option> 14 </select>
よろしくお願い致します。
### 補足
between1,9 でバリデーション かけた時、12でも通ってしまっています。
回答2件
あなたの回答
tips
プレビュー