लारवेल में सरणियों को मान्य करते समय और कस्टम त्रुटि संदेशों का उपयोग करते हुए, क्या सरणी संख्या/स्थिति तक पहुंचने का कोई तरीका है जो सत्यापन विफलता को फेंक रहा है?

हेरफेर करने की कोशिश कर रहा है: विशेषता या: अनुरोध के संदेश सरणी में कुंजी काम नहीं करती है क्योंकि प्लेसहोल्डर्स का बाद में अनुवाद किया जाता है (पढ़ें: वे वास्तविक चर नहीं हैं)

मैं एक संदेश प्रस्तुत करने की कोशिश कर रहा हूं जैसे:

object.property.*.required => 'The property on object # is required'

अन्यथा आप कुछ इस तरह खत्म हो जाते हैं:

object.property.3 is required

मैं नंबर हथियाना चाहता हूं ताकि मैं एक मित्रवत और अधिक वर्णनात्मक संदेश प्रस्तुत कर सकूं।

1
ironchefbadass 26 अक्टूबर 2018, 19:54

1 उत्तर

सबसे बढ़िया उत्तर

ठीक है, इसे replacer विधि द्वारा Validator अग्रभाग पर प्राप्त किया जा सकता है। replacer को AppServiceProvider@boot पद्धति में जोड़ें।

//...

public function boot()
{           
    Validator::replacer('required', function ($message, $attribute, $rule, $parameters) {
        if (str_contains($message, ':nth') && preg_match("/\.(\d+)\./", $attribute, $match)) {
            return str_replace(":nth", $match[1]+ 1, $message);
        }

        return $message;
    });
}

//...

विशेषता के लिए कस्टम सत्यापन संदेश में पल्सहोल्डर शामिल होना चाहिए :nth

object.property.*.required => 'The property on object :nth is required'
1
Ijas Ameenudeen 26 अक्टूबर 2018, 19:06