1

So;私はいくつかのソリューションをオンラインでチェックしようとしましたが、bootstrapvalidatorを使用してフィールド検証を有効または無効にすることに関する私の問題を解決する解決策を見つけることができませんでした。bootstrapValidator-フィールドの有効化と無効化

誰かが負の数(たとえば-4、-100、-545など)を入力したときにエラーを表示するフィールドがあり、数字以外の数字(例:4.4.4、4.r、 4tなど)。 しかし、-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')

widetech @trusharあなたの答えのための
+0

感謝。あなたのソリューションは問題を解決しませんでした。私がしようとしているのは、-999を入力した後で自分のフィールドを再検証することです。問題を参照してください。 -999フィールドの検証作業は完璧ですが、-999を入力した後、その数値(-999)を他の数値に変更すると、-8または67fまたは6.7.7のフィールド検証でエラーメッセージが表示されません。私のフィールドを再検証しないでください –

+0

あなたのコードをスニペットで追加して、正確に何を理解できるか –

+0

ここで試してみてください: https://jsfiddle.net/os3b0dqx/ –

関連する問題