2011-08-17 19 views
14

मैं JQuery सत्यापन प्लगइन कैसे बदल सकता हूं जो ब्राउज़र की भाषा में त्रुटि संदेश देता है। मेरा मतलब है कि अगर मैं इसे ऐसे ब्राउज़र पर चलाता हूं जिसमें अंग्रेजी भाषा त्रुटियां अंग्रेजी में होंगी या यदि ब्राउज़र की भाषा तुर्की त्रुटि संदेश तुर्की भी होगी (निश्चित रूप से मैं उन भाषाओं में संदेशों को परिभाषित कर दूंगा, मुझे भी एक डिफ़ॉल्ट भाषा परिभाषित करनी चाहिए http://keith-wood.name/localisation.html
यह लोड हो रहा है जावास्क्रिप्ट ब्राउज़र की परिभाषित भाषा के आधार पर फ़ाइलों की अनुमति देता है: मैं ब्राउज़र की भाषा के अनुसार एक त्रुटि संदेश सूची)JQuery सत्यापन अंतर्राष्ट्रीयकरण समस्या

उत्तर

1

Jquery सत्यापन प्लगइन एक सरणी चर के साथ काम करता है। मैं की तरह के रूप में विभिन्न सरणी चर परिभाषित:

locale_tr, locale_en, locale_sw etc. 

मैं

tr en sw 

की तरह के रूप में दो चरित्र के रूप में ब्राउज़र की भाषा हो और मैं की चर फोन:

locale_ + browser's two character language 

तो यह मेरे लिए काम करता ।

25

आप jQuery के स्थानीयकरण प्लगइन पर एक नज़र हो सकता था परिभाषित नहीं किया।

jquery सत्यापन प्लगइन इस एड्रेस पर उपलब्ध स्थानीयकरण फ़ाइलों के साथ आता है: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/localization/messages_##.js जहां ## लोक कोड है।

आप क्या कर सकते हैं डिफ़ॉल्ट त्रुटि संदेशों के साथ सत्यापन प्लगइन लोड करें और फिर भाषा-विशिष्ट त्रुटि संदेशों को लोड करने के लिए स्थानीयकरण प्लगइन का उपयोग करें। तुम भी अपने स्थानीय js फ़ाइल लिख सकते हैं, वाक्य रचना बहुत तुच्छ है:

/* 
* Translated default messages for the jQuery validation plugin. 
* Locale: FR 
*/ 
jQuery.extend(jQuery.validator.messages, { 
    required: "Ce champ est requis.", 
    remote: "Veuillez remplir ce champ pour continuer.", 
    email: "Veuillez entrer une adresse email valide.", 
    url: "Veuillez entrer une URL valide.", 
    date: "Veuillez entrer une date valide.", 
    dateISO: "Veuillez entrer une date valide (ISO).", 
    number: "Veuillez entrer un nombre valide.", 
    digits: "Veuillez entrer (seulement) une valeur numérique.", 
    creditcard: "Veuillez entrer un numéro de carte de crédit valide.", 
    equalTo: "Veuillez entrer une nouvelle fois la même valeur.", 
    accept: "Veuillez entrer une valeur avec une extension valide.", 
    maxlength: jQuery.validator.format("Veuillez ne pas entrer plus de {0} caractères."), 
    minlength: jQuery.validator.format("Veuillez entrer au moins {0} caractères."), 
    rangelength: jQuery.validator.format("Veuillez entrer entre {0} et {1} caractères."), 
    range: jQuery.validator.format("Veuillez entrer une valeur entre {0} et {1}."), 
    max: jQuery.validator.format("Veuillez entrer une valeur inférieure ou égale à {0}."), 
    min: jQuery.validator.format("Veuillez entrer une valeur supérieure ou égale à {0}.") 
}); 



आशा इस मदद करता है!

+0

@ डिडिएर जी। मैंने अपनी समस्या का समाधान किया। – kamaci

0

यहाँ अपने कस्टम सत्यापन संदेश स्थापित करने के लिए एक आसान तरीका के लिए एक सुझाव है:

1. वाक्य रचना के साथ XX_Messages.ee.js नाम के साथ एक js फ़ाइल बनाएँ:

LANG = { 

    PERSONAL_BIRTHDAY_CAN_T_BLANK : 'Birthday cannot be left blank', 
    PERSONAL_COUNTRY_CAN_T_BLANK : 'Country cannot be left blank', 
    PERSONAL_CITY_CAN_T_BLANK : 'City cannot be left blank', 
....... 
TEAM_EMAIL_NOT_VALID : 'E-mail is not a valid email address' 
}; 

2।

<head> 
.... 
<g:set var="locale" value="${session['language']}"/> 
    <g:if test="${locale.equals("ee")}"> 
     <script src="${resource(dir: 'js',file:'/XX_Messages.ee.js')}"></script> 
    </g:if> 
.... 
</head> 

नोट: आयात एचटीएमएल सिर में अपने XX_Messages.ee.js अपने इच्छित स्थान पर सत्यापन

3.

messages: { 
      gender: { 
       required: LANG.PERSONAL_BIRTHDAY_CAN_T_BLANK 
      }, 
      firstName: { 
       required: LANG.PERSONAL_CITY_CAN_T_BLANK 
      }, 
      lastName: { 
       required: LANG.PERSONAL_COUNTRY_CAN_T_BLANK 
      } 
     } 

नोट:XX_Messages.ee.js फ़ाइल आपके सत्यापन js से पहले अपने html के शीर्ष में आयात किया जाना चाहिए।

संबंधित मुद्दे