2013-12-19 6 views
3

У меня есть форму для отправки категорий. (Новые, редактировать)Подтверждение валидации на основе других пользовательских входов

<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 категория идентификатор в базе данных 0, кроме корня;

Я хочу, чтобы иметь подтверждение, которое говорит: проверить parent_id быть действительный идентификатор в таблице категорий, если он не равен 0. (0 является корнем, а не идентификатор в базе данных)

Как я могу это сделать с правила валидации 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

Смежные вопросы