Мне нужно проверить текстовое поле, и пользователь должен вводить только шаблон, например 2: 1, то есть номер 1 двоеточие номер2, где число 1 должно быть больше, чем номер 2. Я использую Angular js в проекте: Когда я выбираю Buy x get y free, тогда поле ввода должно принимать вышеуказанный шаблон.
<select class="form-control" id="offerType" ng-model="addOffer.discount">
<option value="Buy x get y free">Buy x get y free</option>
<option value="Basket level offer - 100$ for 5">Basket level offer - 100$ for 5</option>
<option value="Basket level offer - Product free">Basket level offer - Product free</option>
<option value="Discount %">Discount %</option>
<option value="Discount $">Discount $</option>
</select>
<input type="text" required class="form-control" id="" placeholder="Enter Discount Value" ng-model="addOffer.value">
Вы не можете сделать это в regex, нет возможности численного сравнения. Это было бы довольно легко проверить в контроллере, хотя, или с помощью специальной директивы.
Вы можете хотя бы подтвердить, что отношение было введено с этим шаблоном \d+:\d+
, но проверяя, что первое число больше, чем второе число.
\d+:\d+
чтобы проверить это.