解決策をオンラインで確認しようとしましたが、bootstrapvalidatorを使用してフィールド検証を有効または無効にする問題を解決するソリューションが見つかりませんでした。bootstrapValidatorを使用してフィールド検証を有効または無効にする
誰かが負の数(たとえば-4、-100、-545など)を入力したときにエラーを表示するフィールドがあり、数字以外の数字(例:4.4.4、4.r、 4tなど)。しかし、-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..
}
});
});