所以;我尝试在线检查几个解决方案,但是我找不到解决方案来解决使用bootstrapvalidator启用和禁用字段验证的问题。bootstrapValidator-启用和禁用字段验证
我有一个应该给错误当有人输入负数(如-4,-100,-545等)领域,任何数量的不是数字(例如4.4.4,4.R, 4t等)。 但我想提出一个条件,当用户输入-999时不会给出错误。
代码工作良好,当用户输入其他数字,是不是消极和诺布数字。如果用户输入负号或非数字号码,则显示错误。当用户输入-999时,它验证为真(不显示错误),但如果用户将号码(-999)更改为其他号码,例如负号和nun-数字号,则我的字段验证停止工作(意味着不要尽管它应该显示任何错误)。
所以,我怎么可以启用和禁用现场验证或现场验证设置的条件使用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..
}
});
});
谢谢您的回答@trushar widetech;但是你的解决方案并没有解决问题。我想要做的是在输入-999后重新验证我的字段。看到问题;在输入-999字段验证工作之前完美无缺,但是在输入-999后,如果我将该编号(-999)更改为任何其他编号,比如说-8或67f或6.7.7字段验证不显示错误消息。似乎($('#myform')。bootstrapValidator('validateField','length');)不要重新验证我的字段 –
你可以在代码片段中添加你的代码,这样我就能明白你到底想要什么 –
试试看: https://jsfiddle.net/os3b0dqx/ –