2016-04-11 13 views
7

अपने मॉडल में मैं तिथि खाने के लिए कुछ सत्यापन नियमों परिभाषित before और after का उपयोग कर का अनुवाद:दिनांक मान्यता कैसे स्थानीय बनाना/तार "आज" और "कल" ​​

'birth_date' => 'required|date|before:today|after:01-jan-1920', 
'another_date' => 'required|date|before:tomorrow|after:01-jan-1990', 

सत्यापन ठीक काम करता है, फिर भी मैं कर सकते हैं प्रमाणीकरण संदेश पर स्ट्रिंग्स today और tomorrow का अनुवाद करने का तरीका जानें।

validation.php भाषा फ़ाइल after और before संदेशों स्थानीयकृत किए जाने योग्य हैं, तथापि संदेश की :date हिस्सा अभी भी today और tomorrow के लिए अंग्रेजी संस्करण प्रदर्शित कर रहा है।

"after"   => "The :attribute must be a date after :date.", 
"before"   => "The :attribute must be a date before :date.", 

मैं उन दो शब्दों कैसे स्थानीय बनाना सकता है - today और tomorrow - सत्यापन संदेश में?

+0

उत्तर अब तक केवल कामकाज हैं। हमें "आज" और "कल" ​​के लिए संसाधनों/लांग/जो भी/validation.php में क्या करना चाहिए? – MPS

उत्तर

0

यह शायद अधिक समझ में आता है कुछ कस्टम सत्यापन करने के लिए, लेकिन मुझे लगता है कि आप कार्बन के साथ बस यह करने के लिए सक्षम होना चाहिए:

$dt = new Carbon\Carbon(); 
$today = $dt->today(); 
$tomorrow = $dt->tomorrow(); 

    $rules = [ 
     ... 
     'birth_date' => 'required|date|before:'.$today.'|after:01-jan-1920', 
     'another_date' => 'required|date|before:'.$tomorrow.'|after:01-jan-1990' 
    ]; 
0

आप क्षेत्र प्रति कस्टम सत्यापन संदेश उपयोग कर सकते हैं, या तो मान्यता फ़ाइल या भाषा पर अपने कोड अपने आप में: https://laravel.com/docs/5.2/validation#custom-error-messages

चलो देखते हैं करने के लिए एक नियंत्रक सत्यापन अनुकरण यह कैसे काम करता है:

<?php 
namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Illuminate\Routing\Controller; 

class YourController extends Controller 
{ 
    public function store(Request $request) 
    { 
     $rules = [ 
      'birth_date' => 'required|date|before:today|after:01-jan-1920', 
     ]; 
     $messages = [ 
      'birth_date.before' => 'A data de nascimento deve ser uma data antes de hoje.', // "The birth date must be a date before today" in portuguese 
     ]; 

     $this->validate($request, $rules, $messages); 

     /* your stuff */ 
    } 
} 

Y कहां form requests (जो कि भी अच्छे हैं) के साथ ऐसा कर सकते हैं, आपको केवल messages() विधि के अंदर अपने कस्टम अनुवादित संदेशों को वापस करने की आवश्यकता है। :)

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