0

各必須フィールドの入力フィールドに jQuery 検証エラー メッセージが表示されるようにしました。ユーザーが有効な必須情報を入力しようとしたときにメッセージを消す方法がわかりません。

たとえば、入力フィールドに「名前を入力してください」というエラー メッセージが表示され、テキスト入力フィールドに本名 (スティーブの場合) を入力しようとすると、「スティーブを入力してください」から始まります。

実際の情報を入力したときにエラー メッセージが表示されないようにするにはどうすればよいですか?

ここにjsfiddleがあります

ここに私のコードがあります:

HTML

<form id="lead">
<input type="text" name="first_name">
<input type="text" name="last_name">
<input type="email" name="email">
<input type="submit">

jQuery

    $(function () {
    //Validation
    $('#lead').validate({
        rules: {
            first_name: {
                minlength: 2,
                required: true
            },
            last_name: {
                minlength: 2,
                required: true
            },
            email: {
                email: true,
                required: true
            }
        },
        errorPlacement: function (error, element) {
            element.val(error.text());
        },
        messages: {
            first_name: "Enter your first name",
            last_name: "Enter your last name",
            email: "Enter your email"
        },
        submitHandler: function (form) { // for demo
            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });

});
4

2 に答える 2

0

jQuery Validate のこれらの正確な設定では、希望する動作が得られるとは思いません。

minlength: 2問題は、名前入力用に設定したことです。フォームを送信する前に、Validate は何もしません。ただし、最初の送信後にエラーが発生すると、キーストロークごとに検証基準が再評価されます。そのため、名の入力に「S」と入力すると、検証がトリガーされますが、minlength が < 2 であるため失敗します。これにより、要素の値がエラー メッセージに置き換えられます。

jQuery Validateの最上位オプションを設定することをおonkeyup:false勧めしますが、問題を完全に解決することはできません。

ここで別の動作を参照してください: http://jsfiddle.net/ryleyb/3RBRp/8/

于 2013-10-01T23:07:25.660 に答える
0

なぜプレースホルダを使用しないのですか?

それらはあなたの目的を非常にうまく果たすはずです

于 2013-10-01T20:07:27.353 に答える