मान लें कि मेरे पास एक उत्पाद है जिसमें रंग हो सकता है। उत्पाद प्रकार के आधार पर, रंग फ़ील्ड आवश्यक हो सकता है या नहीं भी हो सकता है।वाईआई - नियंत्रक से नियमों को गतिशील रूप से बदलें
तो रंग हमेशा आवश्यक होता है, मैं उत्पाद मॉडल
public function rules()
{
return array(
array('colour', 'required')
);
}
हालांकि में निम्नलिखित होंगे, मैं इस उत्पाद प्रकार के आधार पर गतिशील होना चाहता हूँ।
क्या यह नियंत्रक में किया जाना चाहिए?
public function actionOrder() {
// ....
if ($product->HasColour) {
// set the colour validation to be required
} else {
// set the colour validation to be not required
}
}
इस दृष्टिकोण का सबसे अच्छा तरीका क्या है: मैं नियंत्रक में निम्नलिखित की तरह कुछ होने कल्पना कर सकते हैं?
धन्यवाद
यदि यह किसी उत्पाद प्रकार के लिए विशिष्ट है, तो मॉडल में ऐसा किया जाना चाहिए, मॉडल में किया जाना चाहिए। – Zombaya
लेकिन यदि आप अपने मान्य फॉर्मिनपुट को अपने नियंत्रक में कर रहे हैं तो भी सही है। तो मुझे लगता है कि आप यहां गलतियां नहीं कर रहे हैं। – Zombaya
मॉडल तब तक उत्पाद को नहीं जानता जब तक actionOrder() निष्पादित नहीं किया जाता है, नहीं? –