Answerというモデルがあります。
このモデルには 2 つの関係があります。Question
またはProduct
。_ ただし、Answer のリレーションは 1 つだけにする必要があります。質問または製品のいずれか。
回答を作成するためのフォームがあります。
このフォームには 3 つの入力があります。そのうちの 2 つは<select>
入力です。もう 1 つは名前と呼ばれるテキスト入力です。
検証で 1 つだけ入力できるようにしたい。
私の現在の検証:
$validator = Validator::make(
Input::all(),
array('name' => array('required'))
);
$validator->sometimes('product', array('required', 'numeric'), function ($input) {
return !is_numeric($input->question);
});
$validator->sometimes('question', array('required', 'numeric'), function ($input) {
return !is_numeric($input->product);
});
選択した項目の少なくとも 1 つを入力する必要がありますが、2 つ入力することもできます。
だから、私の質問は次のとおりです。選択したものの1つだけを入力できるように検証を変更するにはどうすればよいですか。ただし、そのうちの 1 つは必ず入力する必要があります。
1 を選択:
<select name="question" class="form-control">
<option>None</option>
<option value="1" selected="selected">Question 1</option>
<option value="2">Question 2</option>
</select>
2 を選択:
<select name="product" class="form-control">
<option>None</option>
<option value="2" selected="selected">Product 1</option>
<option value="3">Product 2</option>
</select>