1

So; Я попытался проверить пару решений в Интернете, но я не мог найти решение, которое решает мою проблему относительно включения и отключения проверки поля с помощью bootstrapvalidator.bootstrapValidator-включить и отключить проверку поля

У меня есть поле, которое должно давать ошибку, когда кто-то вводит отрицательное число (например, -4, -100, -545 и т. Д.) И любое число, которое не является числовым (например, 4.4.4, 4.r, 4t и т. Д.). Но я хочу поставить условие, которое не даст ошибку, когда пользователь вводит код -999.

Код работает хорошо, когда пользователь вводит другое число, которое не является отрицательным и знаковым. И если пользователь вводит отрицательный или нечисловой номер, отображается ошибка. Проблема, когда пользователь вводит -999, он проверяет истинность (не показывать ошибку), но если пользователь меняет номер (-999) на другой номер, такой как отрицательный номер и номер нун-цифра, моя проверка поля перестает работать (это означает, что нет показать любую ошибку, хотя она должна была показать).

Так как я могу включить или отключить проверку поля или установить условие проверки поля для решения моей проблемы с помощью bootstrapValidator .. ???

Надеюсь, вы, ребята, уже столкнулись с такой проблемой, и я надеюсь, что вы поможете мне решить загадку.

Вы можете попробовать его здесь: https://jsfiddle.net/os3b0dqx/, чтобы увидеть, как это работает

my template.html looks like: 
<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.. 
} 
}); 
}); 

ответ

0

изменение этой if ($(this).val() == -999) к if ($(this).val() == '-999')

+0

Спасибо за ваш ответ @trushar widetech; но ваше решение не решило проблему. То, что я пытаюсь сделать, - это повторить проверку моего поля после ввода -999. См. Проблему; перед тем, как ввести операцию проверки поля -999, отлично, но после ввода -999, если я изменю это число (-999) на любое другое число, скажем, что проверка в поле -8 или 67f или 6.7.7 не отображает сообщение об ошибке. Кажется, ($ ('# myform'). BootstrapValidator ('validateField', 'length');) не переоценивает мое поле –

+0

вы можете добавить свой код в фрагмент, чтобы я мог понять, что вы точно хотите –

+0

попробуйте его здесь: https://jsfiddle.net/os3b0dqx/ –