2015-09-17 20 views
5

Trong Laravel 4 Tôi đang cố gắng tìm xác nhận không xác nhận cho các giá trị đầu vào. Ví dụ với confirmation chúng ta có thể kiểm tra mật khẩu phù hợp và repassword và bây giờ tôi muốn kiểm tra trái của hai giá trị. ví dụ A phải không bằng A trong giá trị đầu vào và sau khi kiểm tra trong rules Tôi phải trả về lỗi. Trong mẫu này làm thế nào để kiểm tra điều đó?Laravel Hai giá trị phải không được xác nhận bằng nhau

<input id="starttime_range" 
     name="starttime_range" 
     type="text" 
     class="form-control" 
/> 

<input id="finish_range" 
     name="finish_range" 
     type="text" 
     class="form-control" 
/> 

starttime_range phải không bình đẳng với finish_range

Mã của tôi:

public function postInsert() 
{ 
    $rules = array(
     'starttime_range' => 'required|integer', 
     'endtime_range' => 'required|integer|not:starttime_range', 
    ); 
    $validator = Validator::make(Input::all(), $rules); 

    if ($validator->fails()) { 
     return Redirect::back() 
      ->withErrors($validator) 
      ->withInput(); 
    } else { 

    } 
} 
+0

có nó có ý nghĩa hơn để đảm bảo 'endtime_range' xuất hiện sau' starttime_range'? – user3158900

Trả lời

10

Nếu bạn muốn campare hai giá trị khác nhau, hơn là bạn phải sử dụng different:

$rules = array(
    'starttime_range' => 'required|integer', 
    'finish_range' => 'required|integer|different:starttime_range', 
); 
+0

điều này không hoạt động trong Laravel v4.2 cho các giá trị khác nhau, công việc của nó tốt nhưng với các giá trị khác nhau của nó cũng cho cùng một lỗi –

Các vấn đề liên quan