मैं कोहाना का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि यह सवाल अधिक सामान्य है।एमवीसी परियोजना में सत्यापन कहां होना चाहिए?
मैं नियंत्रक में फॉर्म सत्यापन कर रहा हूं, और यह अब तक अच्छी तरह से काम कर रहा है। लेकिन हाल ही में, मैं एक समस्या में भाग गया है।
मेरे पास एक टिप्पणी मॉडल है, और मैं इसे कुछ अलग नियंत्रकों से टिप्पणियां भेजता हूं। प्रत्येक नियंत्रक में एक वैधकर्ता होने के बजाय, मैंने इसे मॉडल में रखा।
यह बहुत अच्छा है क्योंकि
- केवल एक ही स्थान पर/बदलने के लिए सत्यापन नियमों (सूखी)
जोड़ने यह बेकार है क्योंकि
- मैं स्पष्ट रूप से एक सफलता या विफलता वापस जाने के लिए की जरूरत है नियंत्रक के लिए, और कोहाना की सत्यापन लाइब्रेरी त्रुटियों को एक सरणी के रूप में लौटाती है। तो मेरी वापसी असफल
array('success' => false, $errors);
मैं मदद नहीं कर सकता लेकिन लगता है कि यह गलत है पर सफलता
array('success' => true);
पर इस
तरह दिखता है। यह गलत लगता है।
अगर मैं नियंत्रक में कर, मैं बस कर सकते हैं
if ($post->validate()) {
doWhatever();
} else {
$this->template->formErrors = $post->errors('form_errors');
}
कौन सा बेहतर लगता है (मेरे लिए)।
क्या ऐसा करने का कोई बेहतर तरीका है? क्या मुझे नियंत्रक या विधि में मान्य करना चाहिए? क्या मैं पागल हो रहा हूँ?
इस तरह मैं यह करता हूं और फिर यह तय करने के लिए सफलता सूचकांक की जांच करता हूं कि क्या करना है (कोहोन के साथ नहीं, बल्कि आम तौर पर।) –