0

検証プラグインを実行すると、Firebug のコンソールに出力されることがわかります ( debug: false.

アプリケーションを IE9/IE8 で実行すると、デバッグ モード (Shift+F12 キーなど) でない限り失敗します。デバッグ モードでは、IE コンソールに出力され、アプリケーションが実際に動作することがわかります。

コンソールへの出力を停止するためにプラグインを設定するにはどうすればよいですか (デバッグ モードでない場合、IE はこれを処理できないと思います)。または、これは検証プラグインのバグなので、それらの行を自分で削除する必要がありますか?

プラグインは、プラグイン内の defaultShowErrors から出力しています。

これが私の検証コードの例です:

function registerAccountValidation(){
    $("#registerform").validate({ 
        errorContainer: "#messageBox1",
        errorLabelContainer: "#messageBox1 ul",
        wrapper: "li", 
        debug:false,
        rules: {     
            owner_first_name: "required",
            owner_surname: "required",
            owner_email: { // compound rule 
                email: true,
                required: true,
                remote: "http://" + hostname +  "/modules/core/account/is_available.php"
            }, 
            email2: { 
                equalTo: "#email"
            },
            username: {
                required: true,
                remote: "http://" + hostname +  "/modules/core/account/is_available.php"
            },
            password: {
                required: true
            },
            password2: {
                equalTo: "#password"
            },                                
            owner_phone_number: "required",
            company_address: "required",
            zipcode: "required",
            city: "required",
            country: {
                required: true
            },
            company_name:{
                required: true,
                remote: "http://" + hostname +  "/modules/core/account/is_available.php"
            },
            company_link: {
                required: true,
                remote: "http://" + hostname +  "/modules/core/account/is_available.php",
                alpha: true
            }
        }, 
        messages: { 
            owner_first_name: {
                required: "First name is missing"
            },
            owner_surname: "Surname is missing",
            owner_email: { // compound rule 
                email: "Please specify a correct e-mail address" ,
                required: "E-mail is missing",
                remote: "E-mail address already registered"
            }, 
            email2: { 
                equalTo: "E-mail addresses must be equal"
            },
            username: {
                required: "Username is missing",
                remote: "Username is already registered"
            },
            password: {
                required: "Password is missing"
            },
            password2: {
                equalTo: "Passwords must be equal"
            },
            owner_phone_number: "Phone number is missing",
            company_address: "Address is missing",
            zipcode: "Zip code is missing",
            city: "City is missing",
            country: {
                required: "Country is missing"
            },
            company_name: {
                required: "Company name is missing",
                remote: "Company name already registered"
            },
            company_link: {
                required: "Link is missing",
                remote: "Link is already registered",
                alpha: "Must only contain a-z and A-Z and no blank space"
            }
        }
    }); 
}

アップデート

プラグインでコンソールへの出力を削除すると、実際に問題が解決します。しかし、もしあれば、正式な方法でそれを行うことを好みます。将来的にプラグインを更新する際に問題が発生したくありません。

4

1 に答える 1

0

迅速で汚い解決策で十分な場合は、実際のコンソールを持たないブラウザー用にダミーの console.log を定義できます。

if(!(window.console && window.console.log)){
    window.console = {
        log: function(){}
    };
}

実際の問題を見つけるのが難しいことが判明した場合、これにより少なくともエラーが解消されます。

于 2012-06-11T09:25:01.487 に答える