我想仅在'needs_login'存在时验证'account_id'。我这样做了:
$rules = [
'account_id' => ['required_with:needs_login','custom_validation']
];
但是它不起作用,因为如果needs_login字段不存在但是account_id有一些值,那么它会尝试执行'custom_validation'。 我还尝试将'有时'参数
$rules = [
'account_id' => ['required_with:needs_login', 'sometimes', 'custom_validation']
];
但它不起作用。
有什么想法吗?
P.S。:请记住,我只想在need_login存在的情况下验证account_id,如果needs_login不存在则检查是否存在account_id。
答案 0 :(得分:4)
你试过required_if吗?
$rules = [
'account_id' => ['required_if:needs_login,1']
];
答案 1 :(得分:1)
如果你要走“有时”的路线,这样的事情适用于Laravel 5。也许你可以适应L4?看起来它是相同的in the Docs。
$validation = Validator::make($formData, [
'some_form_item' => 'rule_1|rule_2'
]
$validation->sometimes('account_id', 'required', function($input){
return $input->needs_login == true;
});