सारांश: मैं भीतर एक कस्टम ActiveModel::EachValidator
सत्यापनकर्ता एक विशेषता के मूल्य को बदलने के लिए कोशिश कर रहा हूँ। निम्नलिखित प्रोटोटाइप को देखते हुए:बदलें या रेल ActiveRecord सत्यापन के दौरान एक विशेषता मान अद्यतन
def validate_each(record, attribute, value)
स्थापित करने के लिए value = thing
कुछ भी करने को प्रकट नहीं होता है की कोशिश कर रहा - मैं कुछ याद आ रही है? ऐसा करने का एक स्मार्ट तरीका होना चाहिए ...
विवरण: मैं साइट के हिस्से के रूप में एक यूआरएल इनपुट स्वीकार करता हूं। मैं सिर्फ यूआरएल नहीं लेना चाहता हूं और सीधे यह सत्यापित करता हूं कि यह 200 OK
संदेश देता है, क्योंकि इससे http
से शुरू नहीं होने वाली प्रविष्टियों को अनदेखा कर दिया जाएगा, या अग्रणी www
आदि छोड़ दिया जाएगा। मेरे पास कुछ कस्टम तर्क है उन त्रुटियों और पुनर्निर्देशन का पालन करें। इस प्रकार, यदि http://www.example.org/article
के बजाय example.org/article
में कोई उपयोगकर्ता example.org/article
टाइप करता है तो मुझे पर सत्यापन करना होगा। तर्क सत्यापन के अंदर ठीक से काम करता है, लेकिन समस्या यह है कि अगर कोई पूर्व में टाइप करता है, तो डेटाबेस में संग्रहीत मूल्य अच्छी तरह से अद्यतन किए गए बजाय "गलत" रूप में होता है। क्या मैं सत्यापन के दौरान एक और कैनोलिक रूप में प्रविष्टि बदल सकता हूं?
+1 अच्छा सवाल – neeraj