Laravel Prompts agrega Multi-line Textarea Input, Laravel 11.3 Released

- Andrés Cruz

En el lanzamiento 11.3 de Laravel, que incluye texto de varias líneas en los mensajes de Laravel, un método Session:hasAny(), un método Context::pull() y más.

Multi-line Text Prompts

Joe Tannenbaum contribuyó con una función de área de texto para los mensajes de Laravel que acepta texto de varias líneas de un usuario:

La función textarea() incluye un argumento de validación opcional, así como un argumento obligatorio para asegurarse de que el área de texto esté completa:

use function Laravel\Prompts\textarea;

$story = textarea(
   label: 'Tell me a story.',
   placeholder: 'This is a story about...',
   required: true,
   hint: 'This will be displayed on your profile.'
);

// Validation
$story = textarea(
   label: 'Tell me a story.',
   validate: fn (string $value) => match (true) {
       strlen($value) < 250 => 'The story must be at least 250 characters.',
       strlen($value) > 10000 => 'The story must not exceed 10,000 characters.',
       default => null
   }
);

session tiene el método Any()

Mahmoud Mohamed Ramadan contribuyó con un método hasAny() a las sesiones, lo cual es una buena mejora al verificar si hay algún valor en la sesión:

// Before
if (session()->has('first_name') || session()->has('last_name')) {
   // do something...
}

// Using the new hasAny() method
if (session()->hasAny(['first_name', 'last_name'])) {
   // do something...
}

Método Context Pull

@renegeuze contribuyó con un método pull() y pullHidden() al servicio Context, que extrae los datos contextuales y los elimina inmediatamente del contexto.

$foo = Context::pull('foo');
$bar = Context::pullHidden('foo');

Un caso de uso de ejemplo para esta característica podría ser capturar el contexto para el registro de la base de datos y extraerlo porque el contexto adicional ya no es necesario.

Articulo original:

https://laravel-news.com/laravel-11-3-0

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.