php - que - laravel foreach index
Laravel 5: validar solicitud mĂșltiple (1)
¿Es posible, en Laravel 5, validar múltiples Solicitudes para insertar modelos relacionados luego de la presentación de un formulario?
Sé cómo validar el Modelo múltiple usando Validadores, pero quiero hacerlo con la Clase de solicitud.
Laravel 4:
$validateUser = Validator::make(Input::all(), User::$rules);
$validateRole = Validator::make(Input::all(), Role::$rules);
if ($validateUser->fails() || $validateRole->fails()){
$validationMessages = array_merge_recursive(
$validateUser->messages()->toArray(),
$validateRole->messages()->toArray()
);
}
Laravel 5:
Solicite uno
class CreateUserRequest extends Request {
public function rules()
{
//
}
}
Solicite dos
class CreateRoleRequest extends Request {
public function rules()
{
//
}
}
Llamada modelo de controlador:
public function store(CreateUserRequest $request, CreateRoleRequest $request2)
{
//
}
¿Cómo puedo validar los valores de entrada del usuario y los valores de entrada de función utilizando el enfoque Solicitud? (y tiene un feedback específico si la validación falla)
Primero, usar múltiples clases de solicitud de formularios funciona perfectamente bien.
Ahora, por supuesto, no puedes tener solo dos formularios en uno. Sin embargo, lo que puede hacer para separar sus datos, es usar la sintaxis de matriz para los nombres de campo:
<input type="text" name="user[name]" />
<!-- and later -->
<input type="text" name="role[name]" />
En sus reglas de validación, puede usar la sintaxis de puntos para hacer referencia al nombre de usuario o al nombre de la función:
public function rules(){
return [
''role.name'' => ''required''
];
}
Y para crear los dos modelos, solo use esto para obtener todos los atributos para el user
y el role
:
$request->input(''user''); // returns an array like [''name'' => ''foo'', ''other-user-field'' => ''bar'']
$request->input(''role''); // returns an array like [''name'' => ''baz'', ''other-role-field'' => ''boom'']