2013-12-19 112 views
3

我有提交類別的表單。 (new,edit)基於其他用戶輸入的Laravel驗證輸入

<form ... > 
    <input type="text" name="name" /> 

    <select name="parent_id" > 
     <option value="0" >Root</option> 
     <option value="1" >Computer</option> 
     <option value="..." >...</option> 
    </select> 
</form> 

parent_id中的每個id都是數據庫中除0以外的分類id,root;

我想有一個驗證它說:檢查PARENT_ID是在類表中的有效ID,如果它不爲0(0是根,而不是在數據庫中的ID)

我如何可以做到這一點laravel驗證規則。

回答

5

我沒有有時之前使用。但請在下面嘗試。目前還不能測試自己。

/* This is untested code */ 

$validation->sometimes('parent_id', 'exists:categories', function($input) 
{ 
    return $input->parent_id > 0; 
}); 

/* This is untested code.*/ 

手動輸入:http://laravel.com/docs/validation#conditionally-adding-rules

0
$input = Input::only('dragon', 'parent_id', 'carrot'); 

$rules = [ 
    // your rules 
]; 

if (! empty($input['parent_id'])) 
{ 
    $rules['parent_id'] = 'exists:categories'; 
} 

// the normal validation stuff here 

http://laravel.com/docs/validation#rule-exists

+0

這並不能幫助。存在基於其他輸入的條件。 – Pars