Я пытаюсь написать валидацию, которая также проверяет, соответствует ли выбранная опция регулярному выражению. Есть 10 вариантов, только один из которых является неправильным.
Пока что я пытался использовать операторы if и else в сочетании с "preg_match" и "$ match", но я не могу заставить его работать для выбранных опций. Вот мой код и то, что я пытался до сих пор.
Мой выбор параметров в форме:
<h3>Standard</h3>
<label for="Adu">Adults</label>
<span class="error">* <?php echo $staErr;?></span>
<select name="seats[STA]" id="seatsSTA">
<option value="0">Choose one from below</option>
<option value="1">1xTicket</option>
<option value="2">2xTicket</option>
<option value="3">3xTicket</option>
<option value="4">4xTicket</option>
<option value="5">5xTicket</option>
<option value="6">6xTicket</option>
<option value="7">7xTicket</option>
<option value="8">8xTicket</option>
<option value="9">9xTicket</option>
</select>
Моя попытка регулярного выражения:
$staErr = "";
$seatsSTA = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["seatsSTA"])) {
$staErr = "no match";
} else {
$seatsSTA = test_input($_POST["seatsSTA"]);
// check if name only contains letters and whitespace
if (preg_match("/\b1xTICKET\b/i",$seatsSTA)) {
$staErr = "matches";
}
}
}
Это должноЭхо «совпадает», если выбран какой-либо из вариантов билетов (1xTicket, 2xTicket, ...), и должно отображаться «Нет совпадения», если выбран любой другой вариант (в этом случае это будет «Выбрать один из ниже»).