验证2个字段应该是相同的值,而其中没有一个字段在laravel 5

时间:2015-08-15 14:17:08

标签: php laravel laravel-4 laravel-5

我有借记字段和借记字段

 <input type="text" class="form-control" name="debit" value="{{ isset($expense->debit) ? $expense->debit : old('debit')}}"> 

 <input type="text" class="form-control" name="credit" value="{{ isset($expense->credit) ? $expense->credit: old('credit')}}"> 

我需要确保提交表格时价值相等。

我知道我可以这样做,如果这样命名:

debit and debit_confirmation和规则数组

return Validator::make($data, [
        'debit' => 'required|confirmed',
    ]);

但我不想改名。

laravel 5中的任何内置验证都可以做到这一点。

2 个答案:

答案 0 :(得分:3)

您可以使用same验证来匹配您想要的字段

return Validator::make($data, [
    'debit' => 'required|same:credit',
]);

请查看validation documentation以获取更多信息

答案 1 :(得分:2)

Laravel 提供的众多验证器中,有一个您正在寻找的验证器:相同。为了验证2个不同字段(field1,field2)的值是否匹配,您需要定义以下规则

 $rules = [
  'field1' => 'same:field2'
];

您可以在此处查看所有可用验证规则的列表:http://laravel.com/docs/5.1/validation#available-validation-rules