2015-04-05 17 views
7

मैंने लार्वेल में परिवर्तनीय के सत्यापन के लिए सभी चीजें की हैं लेकिन ईमेल के लिए मुझे एक साधारण समस्या मिली है।लार्वा सत्यापन में एकाधिक ईमेल को कैसे सत्यापित करें?

Laravel के दस्तावेज़ में

'email' => 'required|email' 

मुझे पता है कि यह केवल एक ही ईमेल पते के लिए लेकिन जैसे के लिए है मिला है,

[email protected],[email protected], [email protected],com 

जब मैं ईमेल मैं अभी भी मिल की सरणी भेज ईमेल है वैध ईमेल नहीं मैं और अधिक की तरह किया है,

'email' => 'required|email|array' 

लेकिन मैं अभी भी त्रुटि मिली। क्या कोई शरीर मदद कर सकता है।

धन्यवाद,

उत्तर

16

आप कस्टम सत्यापनकर्ता, जो सरणी लेने के लिए और मैन्युअल सरणी में ईमेल ofthe प्रत्येक मान्य करेगा लिखने के लिए की जरूरत है। Laravel 5 अनुरोध में आप कि

public function __construct() { 
    Validator::extend("emails", function($attribute, $value, $parameters) { 
     $rules = [ 
      'email' => 'required|email', 
     ]; 
     foreach ($value as $email) { 
      $data = [ 
       'email' => $email 
      ]; 
      $validator = Validator::make($data, $rules); 
      if ($validator->fails()) { 
       return false; 
      } 
     } 
     return true; 
    }); 
} 

public function rules() { 
    return [ 
     'email' => 'required|emails' 
    ]; 
} 
+1

इस उत्तर का विस्तार करने के लिए, अपने validation.php भाषा फ़ाइल पर कस्टम सत्यापन संदेश जोड़ने के लिए याद है। – chifliiiii

+0

इसके अलावा, [दस्तावेज़] (https://laravel.com/docs/5.5/validation#using-extensions) इसे '\ App \ Providers \ AppServiceProvider :: boot' में डालने का सुझाव देते हैं – mpen

1

Laravel 5.2 शुरू की सरणी सत्यापन की तरह कुछ कर सकते हैं और आप आसानी से ईमेल के सरणी :)

आपको बस सरणी स्ट्रिंग विस्फोट है सत्यापित कर सकें।

https://laravel.com/docs/5.2/validation#validating-arrays

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