Open2
Laravel
function castValidatedData(array $data, Validator $validator)
{
$rules = $validator->getRules();
foreach ($rules as $key => $rule) {
if (\in_array('integer', $rule)) {
$data[$key] = \intval($data[$key]);
}
}
return $data;
}
<?php
namespace Tests\Unit;
use Illuminate\Translation\ArrayLoader;
use Illuminate\Translation\Translator;
use Illuminate\Validation\Validator;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function test_example()
{
$this->assertTrue(true);
}
public function testValidateEmptyStringsAlwaysPasses()
{
$trans = $this->getIlluminateArrayTranslator();
$v = new Validator($trans, ['x' => "100"], ['x' => 'required|integer|min:1|max:100']);
$data = castValidatedData($v->validated(), $v);
var_dump($data);
//=> array(1) {
// ["x"]=>
// int(100)
//}
}
public function getIlluminateArrayTranslator()
{
return new Translator(
new ArrayLoader, 'en'
);
}
}