Laravel: validate an integer field that needs to be greater than another

前端 未结 8 2202
情歌与酒
情歌与酒 2020-11-27 15:08

I have two fields that are optional only if both aren\'t present:

$rules = [
  \'initial_page\' => \'required_with:end_page|integer|min:1|digits_between:          


        
相关标签:
8条回答
  • 2020-11-27 16:01

    I think you can try something like this,

    $init_page = Input::get('initial_page');
    
    $rules = [
        'initial_page' => 'required_with:end_page|integer|min:1|digits_between: 1,5',
        'end_page' => 'required_with:initial_page|integer|min:'. ($init_page+1) .'|digits_between:1,5'
    ]; 
    
    0 讨论(0)
  • 2020-11-27 16:04

    Why not just define $min_number = $min + 1 number and use validator min:$min_number, example:

    $min = intval($data['min_number']) + 1;
    
    return ['max_number'  => 'required|numeric|min:'.$min];
    

    And you can then return custom error message to explain the error to user.

    0 讨论(0)
提交回复
热议问题