Puede agregar clase para validación en Magento 2. Vea el ejemplo a continuación. Hay casi 72 reglas (clase de validación) que puede usar:
$fieldset->addField(
'email_from',
'text',
['name' => 'email_from', 'label' => __('Email From'), 'title' => __('Email From'), 'required' => true, 'class' => 'validate-email']
);
Consulte el blog para obtener una lista de las reglas disponibles para obtener más información:
Aquí hay una lista de las reglas de validación de clases compatibles con magento 2. Solo necesita agregar la clase css para que se aplique la regla.
min_text_length
max_text_length
max-words
min-words
range-words
letters-with-basic-punc
alphanumeric
letters-only
no-whitespace
zip-range
integer
vinUS
dateITA
dateNL
time
time12h
phoneUS
phoneUK
mobileUK
stripped-min-length
email2
url2
credit-card-types
ipv4
ipv6
pattern
validate-no-html-tags
validate-select
validate-no-empty
validate-alphanum-with-spaces
validate-data
validate-street
validate-phoneStrict
validate-phoneLax
validate-fax
validate-email
validate-emailSender
validate-password
validate-admin-password
validate-url
validate-clean-url
validate-xml-identifier
validate-ssn
validate-zip-us
validate-date-au
validate-currency-dollar
validate-not-negative-number
validate-zero-or-greater
validate-greater-than-zero
validate-css-length
validate-number
validate-number-range
validate-digits
validate-digits-range
validate-range
validate-alpha
validate-code
validate-alphanum
validate-date
validate-identifier
validate-zip-international
validate-state
less-than-equals-to
greater-than-equals-to
validate-emails
validate-cc-number
validate-cc-ukss
required-entry
checked
not-negative-amount
validate-per-page-value-list
validate-new-password
validate-item-quantity
equalTo
Hay 3 formas diferentes de usar la validación de formularios en magento 2
Para habilitar la validación de JavaScript, use el siguiente código en su plantilla
1
2
3
* formulario personalizado es id de formulario, puede reemplazarlo con su id. de formulario
Lista de reglas de validación de formularios
Para finalizar este artículo, aquí se proporciona una lista de nombres de reglas de validación como referencia rápida hacia la documentación oficial:
Reglas de Magento:
Reglas de jQuery:
consulte http://inchoo.net/magento-2/validate-custom-form-in-magento-2/
fuente
En los componentes de la IU se puede usar siguiendo la configuración de muestra (Magento v2.2.0):
Ver más ejemplos en el archivo:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_form.xml
La lista de validadores en UI Components se puede encontrar en
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
.Acabo de escribir este script para obtener todas las claves con mensajes de error para su explicación:
este es un campo obligatorio.
utilice solo letras (az o AZ), números (0-9) o espacios solo en este campo.
especifique un número de teléfono válido
Ingrese una dirección de correo electrónico válida (Ej: [email protected]).
ingrese una dirección IP v4 válida.
este es un campo obligatorio.
seleccione una opción.
ingrese una dirección IP v6 válida.
ingrese una hora válida, entre 00:00 y 23:59
ingrese un número válido en este campo.
Ingrese un número de teléfono válido. Por ejemplo (123) 456-7890 o 123-456-7890.
Ingrese una fecha correcta
ingrese un identificador XML válido (Ej: something_1, block5, id-4).
ingrese una URL válida. Por ejemplo, http://www.example.com o www.example.com.
ingrese 7 o más caracteres, utilizando tanto numéricos como alfabéticos.
etiquetas HTML no están permitidas.
ingrese un número entero válido en este campo.
utilice solo letras (az o AZ), números (0-9) o guión bajo (_) en este campo, y el primer carácter debe ser una letra.
ingrese el número de emisión o la fecha de inicio para el tipo de tarjeta de interruptor / solo.
ingrese al menos {0} palabras.
letras, números, espacios o guiones bajos solo por favor
ingrese una clave de URL válida (por ejemplo, "página de ejemplo", "página de ejemplo.html" u "otro nivel / página de ejemplo").
utilice solo letras (az o AZ), números (0-9), espacios y "#" en este campo.
ingrese un código postal válido.
ingrese una fecha válida.
Ingrese un número mayor que 0 en este campo.
ingrese un número válido en este campo.
ingrese un número de seguro social válido (Ej: 123-45-6789).
ingrese un número positivo en este campo.
archivo que está intentando cargar supera el límite máximo de tamaño de archivo.
ingrese un número de fax válido (Ej: 123-456-7890).
utilice la etiqueta SCRIPT con el atributo SRC o con el contenido adecuado para incluir JavaScript en el documento.
ingrese más o igual que {0} símbolos.
utilice este formato de fecha: dd / mm / aaaa. Por ejemplo 17/03/2006 para el 17 de marzo de 2006.
especifique un número de móvil válido
letras o puntuación solo por favor
el valor no está dentro del rango especificado.
especifique un número de teléfono válido
la fecha no está dentro del rango especificado.
el valor no está dentro del rango especificado.
el número de identificación del vehículo (VIN) especificado no es válido.
Ingrese entre {0} y {1} palabras.
Ingrese un código postal válido (Ej: 90602 o 90602-1234).
ingrese direcciones de correo electrónico válidas, separadas por comas. Por ejemplo, [email protected], [email protected].
ingrese una longitud CSS válida (Ej: 100px, 77pt, 20em, .5ex o 50%).
su código postal debe estar en el rango de 902xx-xxxx a 905-xx-xxxx
ingrese un número de teléfono válido. Por ejemplo (123) 456-7890 o 123-456-7890.
Vul hier een geldige datum in.
letras : solo letras por favor
ingrese menos o igual que {0} símbolos.
ingrese un número 0 o mayor en este campo.
ingrese un valor válido, por ejemplo: 10,20,30
blanco, por favor
Seleccione Estado / Provincia.
ingrese una URL válida. Se requiere protocolo (http: //, https: // o ftp: //).
la fecha no está dentro del rango especificado.
el valor no está dentro del rango especificado.
ingrese un valor mayor o igual a {0}.
Valor vacío.
Ingrese un número 0 o mayor en este campo.
ingrese un número de tarjeta de crédito válido.
Ingrese una dirección de correo electrónico válida (Ej: [email protected]).
ingrese 6 o más caracteres. Los espacios iniciales y finales serán ignorados.
longitud mínima de este campo debe ser igual o mayor que% 1 símbolos. Los espacios iniciales y finales serán ignorados.
ingrese 6 o más caracteres. Los espacios iniciales y finales serán ignorados.
ingrese un valor menor o igual a {0}.
ingrese una cantidad válida de $. Por ejemplo $ 100.00.
Ingrese una hora válida, entre las 00:00 a.m. y las 12:00 p.m.
utilice solo letras (az o AZ) o números (0-9) en este campo. No se permiten espacios u otros caracteres.
No reconocemos ni admitimos este tipo de extensión de archivo.
utilice solo letras (az), números (0-9) o guión bajo (_) en este campo, y el primer carácter debe ser una letra.
ingrese un número de tarjeta de crédito válido.
ingrese {0} palabras o menos.
ingrese al menos {0} caracteres
utilice solo letras (az o AZ) en este campo.
formato no válido.
un número no decimal positivo o negativo, por favor
La secuencia de comandos:
fuente
Si toma la referencia de / customer / account / create page, puede ver el siguiente código debajo del formulario:
Y si marca los atributos de entrada del formulario, puede ver Magento 1 como
class
valores de atributo junto con un nuevodata-validate
atributo. Esta puede ser la base para intensificar.Archivos de claves para validación:
https://raw.githubusercontent.com/magento/magento2/develop/lib/web/mage/validation.js
https://raw.githubusercontent.com/magento/magento2/develop/lib/web/mage/validation/validation.js
fuente
Cuando utilizamos componentes de la interfaz de usuario para hacer el formulario, podríamos usar la validación como se muestra a continuación, funciona en Magento 2.1.x, todavía no lo pruebo en otra versión.
Observe el elemento de validación , en él podríamos agregar reglas de validación , como
required-entry
,validate-integer
etc.Todas las reglas de validación que puede encontrar en el archivo
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
, comovalidate-date
,validate-emails
etc.fuente
Tengo el mismo requisito para la validación de formularios de Magento2 e hice este código
Primero configuraremos un formulario de prueba
Para habilitar la validación de JavaScript para la validación de formularios de Magento2
Referencia :: http://www.onlinecode.org/magento2-form-validation-example/
fuente
La opción "sin espacios en blanco" no funciona correctamente (al menos en Magento 2.1). Activa un mensaje de error en cualquier tipo de carácter "espacio". Los valores "probarme" y "probarme" devolverán el mismo error.
fuente