Download the PHP package oswa/formify-php without Composer

On this page you can find all versions of the php package oswa/formify-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package formify-php

FormifyPhp

Latest Version on Packagist Total Downloads

Una librería flexible y fácil de usar para construir formularios HTML en PHP.

Instalación

Puedes instalar el paquete via Composer:

Uso

Uso Básico

Personalización Global de Labels

Puedes customizar cómo se renderizan todos los labels del formulario:

Personalización por Campo Individual

Cada campo puede tener su propio renderizado completamente personalizado usando customRenderer dentro de las opciones:

Wrapper Personalizado para Campos

Define cómo se envuelve cada campo globalmente:

Ejemplo con Tailwind CSS

Manejo de Errores

Tipos de Campo

Cualquier tipo de input HTML5 (text, email, tel, url, password, number, date, range, color…), más textarea, select, checkbox, radio y file.

Atributos HTML. Toda clave de options que no sea de la librería se emite como atributo, así que min, max, step, accept, pattern o autocomplete funcionan sin más. Para nombres que chocan con claves reservadas, o para data-* y aria-*, usa attributes:

Las claves reservadas son: label, options, choices, value, checked, inline, groupClass, choiceClass, attributes, text y meta. Usa meta para tus propios datos (textos de ayuda, clases del wrapper…): llega a los renderizadores pero nunca al HTML.

Checkbox y radio. Con choices se genera un grupo; sin él, un checkbox suelto:

Cada opción del grupo recibe su propio id (plan_pro) y su <label for>. Puedes darles clases con groupClass (el contenedor) y choiceClass (cada opción).

Grupos obligatorios. No pongas 'required' => true en un grupo de checkboxes: el atributo se emitiría en cada casilla y en HTML eso obliga a marcarlas todas. Basta con la regla required, que ya marca el campo como obligatorio en el label. En los grupos de radios sí puedes usarlo, porque el navegador lo interpreta sobre el grupo entero.

Campos obligatorios. El label muestra el campo como obligatorio si lleva el atributo required o si alguna regla lo exige (required, accepted), así que no hace falta declararlo dos veces. Las condicionales (required_if, required_with…) no cuentan, porque dependen de otros campos. Puedes consultarlo con $form->isRequired('campo').

Select múltiple y archivos. Con multiple, el name pasa a campo[] automáticamente, y un campo file añade enctype="multipart/form-data" al formulario:

Las reglas de validación de archivos (file, image, mimes, dimensions) no están incluidas: el campo se renderiza, pero valida su contenido por tu cuenta.

Validación

Las reglas se declaran junto al campo y usan la misma sintaxis que Laravel:

El validador también se puede usar por separado, con la API de Illuminate\Validation\Validator:

Soporta notación de puntos (user.email), comodines (items.*.sku), los modificadores nullable, sometimes y bail, mensajes personalizados por campo o por regla, nombres legibles de campos, stopOnFirstFailure() y sometimes().

Reglas incluidas: accepted, accepted_if, active_url, after, after_or_equal, alpha, alpha_dash, alpha_num, array, before, before_or_equal, between, boolean, confirmed, date, date_equals, date_format, declined, different, digits, digits_between, distinct, doesnt_end_with, doesnt_start_with, email, ends_with, filled, gt, gte, in, in_array, integer, ip, ipv4, ipv6, json, lowercase, lt, lte, mac_address, max, min, not_in, not_regex, numeric, present, prohibited, regex, required, required_if, required_unless, required_with, required_with_all, required_without, required_without_all, same, size, starts_with, string, timezone, uppercase, url, uuid.

No se incluyen las reglas que dependen de una base de datos (exists, unique) ni de archivos subidos (file, image, mimes, dimensions).

Reglas propias

Idiomas

Los mensajes por defecto están en inglés. También viene incluido el español, y puedes registrar cualquier otro idioma. Las claves son las mismas que usa Laravel, así que puedes reutilizar un lang/es/validation.php existente:

Protección CSRF

Los formularios que no usan GET incluyen automáticamente un token CSRF oculto. El token se genera con random_bytes(), se guarda en la sesión y se compara con hash_equals().

El token se rota tras cada verificación correcta. Puedes ajustar el comportamiento:

Uso fuera de una petición HTTP

Request y AntiCsrf se construyen solo cuando se usan, así que puedes generar formularios en tests o en CLI. Para simular una petición, inyéctala:

Características

Requisitos

Testing

Los tests están escritos con Pest:

O ejecutar Pest directamente:

Changelog

Por favor ver CHANGELOG para más información sobre cambios recientes.

Contribuir

Las contribuciones son bienvenidas. Por favor ver CONTRIBUTING para más detalles.

Seguridad

Si descubres algún problema de seguridad, por favor envía un email a [email protected].

Créditos

Licencia

La licencia MIT (MIT). Por favor ver License File para más información.


All versions of formify-php with dependencies

PHP Build Version
Package Version
Requires php Version 8.3.*
illuminate/validation Version ^12.43
illuminate/translation Version ^12.43
aplus/http Version ^4.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package oswa/formify-php contains the following files

Loading the files please wait ...