簡體   English   中英

如何在jquery.validation中進行多個突出顯示?

[英]How do I make multiple highlights in jquery.validation?

我正在使用jQuery.validator。 我終於找到了向jQuery.validator添加本地存儲功能的一個很好的答案。

是否可以將jquery.validate錯誤代碼寫入localstorage?

我現在使用此代碼,但是現在我想同時使用多個高亮顯示更多字段。 如何制作更多高光和反高光的實例?

我更改了名稱,例如我使用了“ highlight2”。 這行不通。

我正在使用與Brahim相同的代碼。

highlight: function(element, errorClass, validClass) {
    // Check for your email input
        if (element.type === "email" && element.name === "input_name") {
        // `errorMap` is an internal Key/value store, where the key refers to the
        // name of an input field, values the message to be displayed for that
        // input.
        localStorage.setItem("email_error", this.errorMap[element.name]);
        }

        // Call the default highlight to keep the original behaviour
        $.validator.defaults.highlight(element, errorClass, validClass);
    },
      unhighlight: function(element, errorClass, validClass) {
        // Check for your email input
        if (element.type === "email" && element.name === "input_name") {
          localStorage.removeItem("email_error");
        }

我希望多個字段顯示本地存儲錯誤。 對不起我的英語不好。

不幸的是,到目前為止,jquery.validation不支持多個獨立的突出顯示和取消突出顯示功能。 但是,您可以使用當前具有該功能的驗證腳本。 如果您選擇parsley http://parsleyjs.org/ ,則可以使用它們的'field:error'和'field:success'函數創建多個事件。 你可以做類似的事情;

    $('#id_of_selector_1').parsley().on('field:error', function() {          
        localStorage.setItem('error_1', JSON.stringify(true));
    });
    $('#id_of_selector_1').parsley().on('field:success', function() {          
        localStorage.removeItem('error_1', JSON.stringify(true));
    });   
    $('#id_of_selector_2').parsley().on('field:error', function() {          
        localStorage.setItem('error_2', JSON.stringify(true));
    });
    $('#id_of_selector_2').parsley().on('field:success', function() {         
        localStorage.removeItem('error_2', JSON.stringify(true));
    });

您可以使用某種布爾函數調用localstorage項,因為它已經被字符串化了。 希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM