所以我有一個帶有文本框的簡單表單,下拉菜單中有 2 個選項和一個提交按鈕。我有一個包含兩個值的下拉菜單 - Google 和 Bing。如果您選擇 Bing,我希望它拋出錯誤。我為僅接受字母的文本框制作了類似的東西。如果您在輸入框中添加數字,則會顯示正則表達式錯誤。我如何為我的下拉菜單獲取這個?我的刀片文件: <form action="{{route('redirectURL')}}" method="GET"> <input {!!$errors->has('searchText') ? 'style="background-color: #faa"' : '' !!} type="text" value=" {{old('searchText')}}" name="searchText" pattern="[a-zA-Z0-9]{5,30}" title="Vain [a-zA-Z0-9]{5,30} hyv?ksyt??n"> <input type="submit" name="submit"><br> @error('searchText') <div style="background-color: lightgrey; width:230px;"> {{$message}} </div> @enderror <select name="searchEngine"> <option name="Google" value="http://www.google.com/search?q=" @if(old('searchEngine') == "http://www.google.com/search?q=") {{'selected'}} @endif >Google</option> <option name="Bing" value="http://www.bing.com/search?q=" @if(old('searchEngine') == "http://www.bing.com/search?q=") {{'selected'}} @endif>Bing</option> </select> @error('Google') <div style="background-color: lightgrey; width:230px"> {{$message}} </div> @enderror還有我的控制器:public function searchURL(){$validator = request()->validate([ 'searchText'=> ['required','regex:/^[a-zA-Z]{5,30}$/'], 'Google' => 'required'], ['searchText.regex' => 'I accept only letters!', 'Google.required' => 'Dont use Bing... use Google!' ]);文本框正則表達式錯誤顯示得很好,但我不知道如何為 Bing 選項生成相同類型的錯誤。
1 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
在 html 表單中選擇的工作方式有所不同
<select?name="engine"> ???<option?value="bing">bing</option> </select>
在上面的代碼中,當您在請求中提交數據時將
engine?=?bing
所以你必須對 進行驗證?'engine' key
。在你的代碼中你必須進行驗證searchEngine
// 選項一:“in”采用逗號分隔的可接受值列表?$rules = [ 'engine' => 'in:google', ];
添加此規則并檢查它是否有效根據您的要求更改鍵值
- 1 回答
- 0 關注
- 200 瀏覽
添加回答
舉報
0/150
提交
取消