Я работаю над проектом Angular js, где мне нужно проверить данные, введенные перед отправкой формы.
<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">
Это мой блок выбора (который выбирает тип предложения, который нужно указать) и текстовое поле (с учетом значений для вышеприведенного предложения).
Когда я выбираю Buy x get y free, тогда textfild должен принимать только значения, такие как X: Y и X должны быть больше Y (например, 3: 1), т.е. Colon между двумя целыми числами.
А для остальных параметров inputfiled должен принимать только целые числа. как проверить это текстовое поле с помощью угловых js?
Я думаю, Директива должна сделать трюк! но я не уверен, как это достичь. Пожалуйста, помогите мне. Thannks заранее.
У вас есть проверка валидации на основе опции в одном поле ввода, поэтому мы установили некоторые ограничения, которые флажок должен принимать только целое. найти ниже
в ng-pattern = "/^ [0-9] {1,7} $/" используется формат форматирования в поле ввода.
<div ng-app ng-controller="formCtrl">
<form name="myForm" ng-submit="onSubmit()">
<input type="number" ng-model="price" name="price_field"
ng-pattern="/^[0-9]{1,7}$/" required>
<span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span>
<span ng-show="myForm.price_field.$error.required">This field is required!</span>
<input type="submit" value="submit"/>
</form>
</div>
На самом деле вы можете иметь несколько текстовых полей, которые используют разные проверки и ng-show
когда выбран соответствующий параметр. ИМО, имеющая текстовое поле, которое переключает проверку, слишком затруднительно.