0

「ライブ」フォーム検証を行うためにjQuery検証プラグインを使用しています。レイアウトなどに影響するので表示されるエラーメッセージは表示しないようにしています。

ページのスタイルを台無しにするラベルが生成されますが、これをまったく表示しないようにすることは可能ですか?

// the label it generates for an error
<label for="address_1" class="error">Please enter at least 2 characters.</label> 

$('#checkout-form').validate({
    rules: {
        first_name: {
            minlength: 2,
            required: true
        },
        last_name: {
            minlength: 2,
            required: true
        }
    },
    highlight: function (element) {
        $(element).addClass('#error')
          .closest('.form-group').removeClass('valid');
    },
    success: function (element) {
        element.addClass('valid')
          .closest('.form-group').removeClass('error');
    }
});

// custom css
<style type="text/css">
label.valid {
position: relative;
top: -25px;
right: 10px;
float: right;
width: 16px;
height: 16px;
background: url('/assets/images/icons/tick.png') center center no-repeat;
display: inline-block;
text-indent: -9999px;
}

label.nonvalid {
position: relative;
top: -25px;
right: 10px;
float: right;
width: 16px;
height: 16px;
background: url('/assets/images/icons/cross.png') center center no-repeat;
display: inline-block;
text-indent: -9999px;
}
4

2 に答える 2

1

必要に応じてshowErrorsメッセージを表示するには、独自のロジックを含むようにパラメーターを設定する必要があります。

$('#checkout-form').validate({
    showErrors: function(errorMap, errorList) {
        // do something with the errors
    },
    // rest of your code...
});
于 2013-10-23T11:44:47.210 に答える
1

errorPlacementのように使用できます。

$('#checkout-form').validate({
    errorClass:'error_border',
    rules: {
        first_name: {
            minlength: 2,
            required: true
        },
        last_name: {
            minlength: 2,
            required: true
        }
    },
    errorPlacement: function(error, element){
      /* Need to add this function to remove the error default placement */
    }
});

jQuery Validation Plugin でのエラー処理を読む

于 2013-10-23T11:44:11.003 に答える