我想只在'needs_login'存在时验证'account_id'。我这样做了:
$rules = [
'account_id' => ['required_with:needs_login','custom_validation']
];
但它不起作用,因为如果needs_login字段不存在,但account_id有一些值,那么它会尝试做'custom_validation'。我还试着把'sometimes'参数
$rules = [
'account_id' => ['required_with:needs_login', 'sometimes', 'custom_validation']
];
但它没有工作。
任何想法?
注::请记住,我只想在needs_login存在时验证account_id,而不是在needs_login存在时检查account_id。
你试过required_if吗?
$rules = [
'account_id' => ['required_if:needs_login,1']
];
如果你想要"有时"的路线,这样的东西适用于Laravel 5。也许你能适应L4?在文档中看起来是一样的。
$validation = Validator::make($formData, [
'some_form_item' => 'rule_1|rule_2'
]
$validation->sometimes('account_id', 'required', function($input){
return $input->needs_login == true;
});