-
Notifications
You must be signed in to change notification settings - Fork 11.7k
Closed
Labels
Description
- Laravel Version: 8.36.2
- PHP Version: 7.4.1
- Database Driver & Version: not related to the issue
Description:
Since boolean validation rule accepts and validates several boolean value variants I wanted to enable required_if validator to accept and validate against those values as well, however it fails having 0 as a value.
Steps To Reproduce:
Correct behavior 1:
// Validation
'some_bool_field' => 'required|boolean',
'check_against_1' => 'required_if:some_bool_field,true',
'check_against_2' => 'required_if:some_bool_field,false',
// Payload
'some_bool_field' => true, // will trigger 'check_against_1'
'some_bool_field' => false, // will trigger 'check_against_2'Correct behavior 2:
// Validation
'some_bool_field' => 'required|boolean',
'check_against_1' => 'required_if:some_bool_field,1',
'check_against_2' => 'required_if:some_bool_field,0',
// Payload
'some_bool_field' => 1, // will trigger 'check_against_1'
'some_bool_field' => 0, // will trigger 'check_against_2'Invalid behavior:
// Validation
'some_bool_field' => 'required|boolean',
'check_against_1' => 'required_if:some_bool_field,1,true',
'check_against_2' => 'required_if:some_bool_field,0,false',
// Payload
'some_bool_field' => true, // will trigger 'check_against_1'
'some_bool_field' => false, // will trigger 'check_against_2'
'some_bool_field' => 1, // will trigger 'check_against_1'
'some_bool_field' => 0, // should trigger 'check_against_2', but triggers both