In my form I use the Gravity Form Plugin that works well for min max characters function on normal fields.
But when I use a list there is no a function to do this.
I have tried with this code to set all the seven fields in my list as mandatory, but I would also set for the field ‘Codice Fiscale’ a min/max character functions, in my case I would for this field (‘Codice Fiscale’) min=16 and max=16 characters
add_filter( 'gform_field_validation_3_1', 'validate_list_field', 10, 4 );
function validate_list_field( $result, $value, $form, $field ) {
if ( $field->type == 'list' ) {
GFCommon::log_debug( __METHOD__ . '(): List Field: ' . print_r( $value, true ) );
foreach ( $value as $row_values ) {
GFCommon::log_debug( __METHOD__ . '(): Row Value: ' . print_r( $row_values, true ) );
$column_1 = rgar( $row_values, 'Codice Fiscale' );
GFCommon::log_debug( __METHOD__ . '(): Column 1: ' . print_r( $column_1, true ) );
$column_2 = rgar( $row_values, 'Nome' );
GFCommon::log_debug( __METHOD__ . '(): Column 2: ' . print_r( $column_2, true ) );
$column_3 = rgar( $row_values, 'Cognome' );
GFCommon::log_debug( __METHOD__ . '(): Column 3: ' . print_r( $column_3, true ) );
$column_4 = rgar( $row_values, 'test4' );
GFCommon::log_debug( __METHOD__ . '(): Column 1: ' . print_r( $column_4, true ) );
$column_5 = rgar( $row_values, 'test5' );
GFCommon::log_debug( __METHOD__ . '(): Column 2: ' . print_r( $column_5, true ) );
$column_6 = rgar( $row_values, 'test6' );
GFCommon::log_debug( __METHOD__ . '(): Column 3: ' . print_r( $column_6, true ) );
$column_7 = rgar( $row_values, 'test7' );
GFCommon::log_debug( __METHOD__ . '(): Column 3: ' . print_r( $column_7, true ) );
if ( empty( $column_1 ) || empty( $column_2 ) || empty( $column_3 ) || empty( $column_4 ) || empty( $column_5 ) || empty( $column_6 ) || empty( $column_7 ) ) {
$has_empty_input = true;
}
}