2009-12-16 12 views
16

मैं अपनी साइटों में से किसी एक पर उपयोगकर्ता सत्यापन के लिए authlogic मणि का उपयोग कर रहा हूँ। सब ठीक चल रहा है, लेकिन मुझे आश्चर्य है कि क्या त्रुटि संदेश को बदलना संभव है जब उपयोगकर्ता अमान्य ईमेल पते में टाइप करता है।कस्टम authlogic त्रुटि संदेशों का उपयोग

धन्यवाद!

उत्तर

14

आप validates_format_of_email_field_options के साथ ईमेल सत्यापन के लिए सेटिंग्स को ओवरराइड कर सकते हैं। हालांकि, अगर आप केवल संदेश बदलना चाहते हैं तो आप merge_validates_format_of_email_field_options के साथ विकल्पों को मर्ज कर सकते हैं ताकि आपके द्वारा निर्दिष्ट विकल्पों को केवल ओवरराइड किया जा सके। तुम इतनी तरह अपने उपयोगकर्ता नियंत्रक में सेटिंग्स निर्दिष्ट करें:

class User < ActiveRecord::Base 
    acts_as_authentic do |c| 
     c.merge_validates_format_of_email_field_options :message => 'My message' 
    end 
end 

तुम भी लंबाई और विशिष्टता सत्यापन के लिए सेटिंग्स बदल सकते हैं। कई अन्य सेटिंग्स भी हैं, documentation पर प्रत्येक मॉड्यूल के :: कॉन्फ़िगर अनुभागों में एक नज़र डालें, आप सेटिंग और उनके डिफ़ॉल्ट मान और उन्हें ओवरराइड कैसे कर सकते हैं।

वैकल्पिक रूप से आप स्थानीयकरण का उपयोग कर सकते हैं और error_messages.email_invalid सेट कर सकते हैं (यह प्लगइन डिफ़ॉल्ट अंग्रेजी वाक्य में सेट करने से पहले दिखता है, यदि आप एक अंतरराष्ट्रीय एप्लिकेशन बना रहे हैं तो भी उपयोगी है)।

class UserSession < Authlogic::Session::Base 
    generalize_credentials_error_messages true 
end 

त्रुटि संदेश एक ही होगा: , "ईमेल/पासवर्ड मान्य नहीं है" कि क्या पासवर्ड या ईमेल बुरा है

16

authlogic इस उद्देश्य के लिए एक विशेष सेटिंग है। en.yml फ़ाइल
यह मेरे लिए काम करता है में बदलकर

generalize_credentials_error_messages "Try again" 
+0

इसे जोड़ने के लिए धन्यवाद। बहुत से स्थानों का उल्लेख नहीं है कि लॉगऑन पर क्रेडेंशियल त्रुटियों को कैसे संभाला जाए। – jpcamara

4

अवहेलना Authlogic त्रुटि संदेश: आप true के बजाय एक स्ट्रिंग को निर्दिष्ट संदेश का पाठ बदल सकते हैं।

en: 
    authlogic: 
     error_messages: 
     login_blank: "Please enter the email address." 
     login_not_found: "This email address is already in the system. Please choose a different email address." 
     login_invalid: "Please enter a valid email address." 
संबंधित मुद्दे