2016-04-08 13 views
0

Muhtemelen gerekmediği şeyleri karmaşıklaştırmak üzereyim, ancak AJAX aracılığıyla gönderilen ve onaylanan bir formum var. Oluşan ilk hatayı geri döndürmeye çalışıyorum, ama sadece validation.required'u getirebiliyorum. Kullanıcının hangi alanda başarısız olduğunu ve uygun bir hata mesajını çevirememesini söyleyemem.Doğrulama - Bir AJAX yanıtı için ilk hatanın döndürülmesi

Ne verir? İnsan dostu bir hata mesajı alıp JSON yanıtı olarak nasıl geri alabilirim? İşte

şimdiye kadar gidiyor bu var ... En büyük nasıl-do-ı hata iletisi için özellik adını getiriliyor, ama belki ... tamamen bu yönetmek için bir çok kolay bir yolu var

/** 
* Adds a new post to the system 
* 
* @param Request $request 
* @return json 
*/ 
public function store(Request $request) 
{ 
    // run validation 
    if(!empty($validator = $this->validate($request))) 
    { 
     return response()->json(trans('global/'.$validator->first(), ['attribute' => 'how to get attribute?!?!']), 400); 
    } 

    // some other logic... 
} 


/** 
* Validates a post add or post update request 
* 
* @access private 
* @param Request $request 
* @return mixed 
*/ 
private function validate(Request $request) 
{ 
    // set-up validation rules 
    $validator = Validator::make($request->all(), [ 
     'username'  => 'max:255|required', 
     'email'   => 'email', 
     'service'  => 'numeric|required', 
    ]); 

    $validator->setAttributeNames([ 
     'username'  => "Username", 
     'service'  => "Service", 
    ]); 

    // run validation 
    if($validator->fails()) 
    { 
     return $validator->errors(); 
    } 

    return true; 
} 

cevap

0

kullanın yukarıdaki kod Denetleyiciniz store yönteminde ve geçersiz kılmaz validate yöntemi: doğrulama başarısız olursa

$rules  = [ 
     'username' => 'max:255|required', 
     'email' => 'email', 
     'service' => 'numeric|required', 
    ]; 
    $attributes = [ 
     'username' => "Username", 
     'service' => "Service", 
    ]; 
    $this->validate($request, $rules, [], $attributes); 

otomatik hataları json döndürür olacaktır.
Hata örneği:

İlgili konular