2016-03-28 16 views
0

Laravel doğrulayıcıya hangi dilin doğrulama için kullanılacağını söylemek mümkün mü?Laravel doğrulama dilini belirtin

Metni İngilizce olan bir uygulamam var, ancak bazı formlar için farklı bir dilde döndürülen alanlar için doğrulama hatalarına ihtiyacım var.

Biraz araştırdım ve sadece app dilini ayarlamak için \App::setLocale('ro') kullanabilir ve böylece resources/lang/ro/validation.php altında dosya doğrulama için kullanılacak ama setLocale ile kıvama istemiyoruz öğrendim. En kötü senaryoda, onunla temperleme yapabilirdim ve validasyondan önceki dili değiştirdim ve tekrar doğrulamadan sonra tekrar değiştirdim, ama iyi bir çözüm gibi görünmüyor.

daha böyle bir şey arıyorum:

$validator = Validator::make($request->all(), [ 
    'title' => 'required', 
    'short' => 'required', 
]); 

$validator->getTranslator()->setLocale('ro'); 

$this->validateWith($validator); 

cevap

0

Ben rakam yaptı: Özel bir doğrulayıcı sizin için bir seçenek

$this->validate($request, [ 
    'title' => 'required', 
    'short' => 'required', 
], 'lang_that_I_set_in_DB'); 
1

varsa, validatörler çevirmenin yerel ayarlayabilirsiniz Bu dışarı, bana işaretçiler için teşekkürler!

$validator = \Validator::make($request->all(), [ 
    'title' => 'required', 
    'short' => 'required', 
]); 

$validator->getTranslator()->setLocale('ro'); 

if ($validator->fails()) { 
    return redirect() 
     ->back() 
     ->withErrors($validator) 
     ->withInput(); 
} 
+0

Bu konuda daha ayrıntılı Could:

Bu laravel 5.1 dilinde böyle görünüyor? getTranslator() özel validator'umda özel bir yöntem olabilir mi? –

+1

"Özel doğrulayıcı" sadece "ValidatesRequests" özelliği tarafından sağlanan "validate()" yöntemini kullanamazsınız demektir. Validator :: make() 'sadece' \ Illuminate \ Validation \ Validator' örneğini döndürür, böylece çevirmenleri yerel olarak el ile ayarlayabilirsiniz. Ardından, isteğinizi "özel" Validator örneğinizle doğrulamak için ValidatesRequest :: validateWith() işlevini kullanabilirsiniz. Bu kısmı sağlamak için cevabımı düzenledim. – tommy

+0

Form İstek sınıflarını kullanırken bunun farklı çalışacağından bahsetmek isterim. – tommy