4
ここでは、入力が無効なときにエラーを表示するテキストボックスがあります。私は2つのスパンでエラーを表示する関数を作るので、私は冗長性を防ぐだろうと思っています。ここに私のhtmlファイル入力検証に使用する関数を作成するJquery
<div class="form-group row has-feedback" id="username-group">
<div class="col-sm-4"><label class="control-label">Username</label></div>
<div class="col-sm-8">
<div>
<input type="text" name="username" id="username" value="<?php echo $username;?>" class="form-control user-required" required>
<span id="username-feedback" class="glyphicon form-control-feedback hidden"></span>
</div>
<div><span class="small font-design error_span"><?php if(isset($usernameErr)){echo $usernameErr;} ?></span></div>
</div>
</div>
そして、ここでは、私が冗長になると思うクラスerror_span
function checkEmpty(id){
if($(id).val()==""){
$(id)[0].setCustomValidity('Please fill out this field');
$(id).closest('.form-group').find('.error_span').text("Please fill out this field").removeClass("hidden").addClass("text text-danger");
}
else{
$(id)[0].setCustomValidity('');
$(id).closest('.form-group').find('.error_span').text("").addClass("hidden").addClass("text text-danger");
}
}
$(".user-required").blur(function(){
checkEmpty("#" + $(this).attr('id'));
});
そして、私のコードでスパンで、これまで何をやったかですここにあります。テキストボックスにフィードバックアイコンが追加されます。
if($("#username").val()==existing){
$("#username-feedback").addClass("glyphicon-remove");
$("#username-feedback").removeClass("glyphicon-ok hidden");
$("#username-group").removeClass("has-success");
$("#username-group").addClass("has-error");
$("#username")[0].setCustomValidity('username not available');
$("#username").closest('.form-group').find('.error_span').text("username not available").removeClass("hidden").addClass("text text-danger");
}
else{
$("#username-feedback").addClass("glyphicon-ok");
$("#username-feedback").removeClass("glyphicon-remove hidden");
$("#username-group").removeClass("has-error");
$("#username-group").addClass("has-success");
$("#username")[0].setCustomValidity('');
$("#username").closest('.form-group').find('.error_span').text("").addClass("hidden");
}
$("#username").blur(function(){
if($("#username").val()==""){
$("#username-feedback").addClass("glyphicon-remove");
$("#username-feedback").removeClass("glyphicon-ok hidden");
$("#username-group").removeClass("has-success");
$("#username-group").addClass("has-error");
$("#username")[0].setCustomValidity('Please fill out this field');
$("#username").closest('.form-group').find('.error_span').text("Please fill out this field").removeClass("hidden").addClass("text text-danger");
}
});
私はあなたがこれは機能でより多くの検証を行うことができます
あなたの問題の詳細について具体的に説明できますか? –
これらのコードはすべて入力の検証です。私はこのフォームをすべて使用しています。これは再利用可能な関数を作成したいのですが、何をすべきか分かりません。私は既にcheckEmpty()を作成しましたが、has-feedbackクラスを別のスパン私は使用することができるjqueryのセレクタを考える – healer