2013-10-07 11 views
5

के बीच पहली रेल कार्यक्रम के बीच सशर्त सत्यापन। मैं req'd से थोड़ा आगे जाना चाहता हूं और, उदाहरण के लिए, एक एड्रेस बुक में प्रविष्टियों को पहला नाम या अंतिम नाम या दोनों स्वीकार करते हैं। दूसरे शब्दों में, मैं पहले या आखिरी बार_presence_of को मान्य करना चाहता हूं, और अगर दोनों गायब हैं, तो सी ++ में करने के लिए एक सुपर आसान चीज केवल अपवाद फेंकना है, लेकिन रूबी में सिंटैक्स कैसा दिखता है?रेलवे उपस्थिति 2 फ़ील्ड

उत्तर

12

क्या आप पहले_नाम खाली होने पर अंतिम_नाम की सशर्त मान्यताओं की उपस्थिति नहीं चला सकते? यदि पहला नाम रिक्त नहीं है, तो सत्यापन नहीं होगा, लेकिन यदि यह खाली है तो यह सुनिश्चित करता है कि अंतिम_नाम भी खाली नहीं है ...

validates :last_name, :presence => true, :if => "first_name.blank?" 
+0

नया वाक्यविन्यास '' 'मान्य करता है: last_name, उपस्थिति: सत्य, अगर:" first_name.blank? "' ' – James

1

आप here वर्णित अनुसार एक कस्टम सत्यापन विधि चाहते हैं।

+0

धन्यवाद। कोशिश की, लेकिन यह मुझे उन जगहों पर ले गया जो मुझे अभी तक समझ में नहीं आया। मुझे त्रुटि उत्पादन/हैंडलिंग की सभी विधियों को सीखना होगा, लेकिन आप सही हैं कि कस्टम सत्यापन निश्चित रूप से मुझे उस प्रकार की सी ++ तर्क की शक्ति की अनुमति देगा जिसका उपयोग मैं इसे समझने के बाद करता हूं। –

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