En esta entrada vamos a poner el código que podemos utilizar para validar campos en Woocommerce.
En este caso vamos a validar que los campos nombre y apellidos del checkout tengan solo letras, ya que no deben de tener números, y que además estén rellenos , que no estén vacios.
add_action( 'woocommerce_after_checkout_validation', 'validate_campos_varios', 10, 2); function validate_campos_varios( $fields, $errors ){ if ( preg_match( '/\\d/', $fields[ 'billing_first_name' ] ) || preg_match( '/\\d/', $fields[ 'billing_last_name' ] ) ){ $errors->add( 'validation', 'Debe contener solo letras' ); } if ($fields[ 'billing_first_name' ]=='' || $fields[ 'billing_last_name' ]=='' ){ $errors->add( 'validation', 'Nombre y Apellidos son campos obligatorio' ); } } |
También se puede pedir que sean campos obligatorios para que no los tengas que validar y les obligues a rellenar los campos.
Sería así:
add_filter( 'woocommerce_checkout_fields' , 'mig_override_billing_fields1' ,999); function mig_override_billing_fields1( $fields ) { $fields['billing_first_name']['required'] = true; $fields['billing_last_name']['required'] = true; $fields['billing_phone']['required'] = true; $fields['billing']['billing_company']['required'] = true; $fields['billing']['billing_address_1']['required'] = true; $fields['billing']['billing_address_2']['required'] = true; return $fields; } |