Итак, я попытался проверить пару решений в Интернете, но не смог найти решение, которое решает мою проблему относительно включения и отключения проверки поля с помощью bootstrapvalidator.включить и отключить проверку поля с помощью bootstrapValidator
У меня есть поле, которое должно давать ошибку, когда кто-то вводит отрицательное число (например, -4, -100, -545 и т. Д.) И любое число, которое не является числовым (например, 4.4.4, 4.r, 4t и т. Д.). Но я хочу поставить условие, которое не даст ошибку, когда пользователь вводит в -999.
Код работает хорошо, когда пользователь вводит другое число, которое не является отрицательным и знаковым. И если пользователь вводит отрицательный или нечисловой номер, отображается ошибка. Проблема, когда пользователь вводит -999, он проверяет истинность (не показывать ошибку), но если пользователь меняет номер (-999) на другой номер, такой как отрицательный номер и номер нун-цифра, моя проверка поля перестает работать (это означает, что нет показать любую ошибку, хотя она должна была показать).
Так как я могу включить или отключить проверку поля или установить условие проверки поля для решения моей проблемы с помощью bootstrapValidator .. ???
Надеюсь, вы, ребята, уже столкнулись с такой проблемой, и я надеюсь, что вы поможете мне решить загадку.
Вы можете попробовать его здесь: https://jsfiddle.net/os3b0dqx/, чтобы увидеть, как это работает
Мой template.html выглядит следующим образом:
<form class="well form-horizontal" action=" " method="post" id="myform">
<div class="form-group">
<label class="col-xs-3 control-label">Length</label>
<div class="col-xs-5">
<input type="text" class="form-control" id="length" name="length" />
</div>
</div>
<div class="form-group">
<div class="col-xs-5 col-xs-offset-1">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
<script>
$(document).ready(function() {
$('#myform').bootstrapValidator({
feedbackIcons: {
validating: 'glyphicon glyphicon-refresh'
},
fields: {
length: {
validators: {
greaterThan: {
value: 0,
message: 'The value must be greater than or equal to zero'
},
numeric: {
message: 'The value is not a number',
thousandsSeparator: '',
decimalSeparator: '.'
},
notEmpty: {
message: 'Please fill the length'
}
}
},
}
}).on('click keyup input change', '[name="length"]', function() {
if ($(this).val() == -999) {
$('#myform').bootstrapValidator('enableFieldValidators', 'length', false);
} else {
$('#myform').bootstrapValidator('validateField', 'length');
//$('#myform').bootstrapValidator('enableFieldValidators','length',true);
// both "validateField" and "enableFieldValidators" doesn't work for me..
}
});
});