あなたの代わりにblur
のinput
イベントを使用して、ユーザーの種類として検証する場合:
$("#lname").on('input', function() {
if ($("#lname").val().trim().match(/^[a-zA-Z ]+$/)) {
$("#lname").css({"border":"1px solid #cecece"});
$("#error_lname").css("display","none");
}
else{
$("#error_lname").css("display","block");
}
});
ただし、あなたがcss()
の使用を避け、代わりに追加する必要があり、ベストプラクティスに従うことがあることに注意すべきです/外部スタイルシートで定義されていたクラスを削除し、このような何か:
$("#lname").on('input', function() {
var $el = $(this);
var valid = $el.val().trim().match(/^[a-zA-Z ]+$/);
$el.toggleClass('invalid', !valid);
$el.next('.error-msg').toggle(!valid);
});
.invalid { border: 1px solid #CECECE; }
上記は、検証するinput
が、.error-msg
のクラスを持つエラーメッセージである次の兄弟を持っていることを前提としています。このようにロジックを編成すると、#error_lname
セレクタによって各コントロールに結びつけるのではなく、検証ロジックを簡単に汎用化することができます。
だけでマウスを経由してで貼り付けた場合、これは発生しませんので注意してください非常に – pradeep