acf_field_repeater::validate_value()
Validates values for the repeater field
Метод класса: acf_field_repeater{}
Хуков нет.
Возвращает
true|false
.
Использование
$acf_field_repeater = new acf_field_repeater(); $acf_field_repeater->validate_value( $valid, $value, $field, $input );
- $valid(true|false) (обязательный)
- If the field is valid.
- $value(разное) (обязательный)
- The value to validate.
- $field(массив) (обязательный)
- The main field array.
- $input(строка) (обязательный)
- The input element's name attribute.
Список изменений
С версии 5.0.0 | Введена. |
Код acf_field_repeater::validate_value() acf field repeater::validate value ACF 6.0.4
function validate_value( $valid, $value, $field, $input ) { // vars $count = 0; // check if is value (may be empty string) if ( is_array( $value ) ) { // remove acfcloneindex if ( isset( $value['acfcloneindex'] ) ) { unset( $value['acfcloneindex'] ); } // count $count = count( $value ); } // validate required if ( $field['required'] && ! $count ) { $valid = false; } // min $min = (int) $field['min']; if ( empty( $field['pagination'] ) && $min && $count < $min ) { // create error $error = __( 'Minimum rows reached ({min} rows)', 'acf' ); $error = str_replace( '{min}', $min, $error ); // return return $error; } // validate value if ( $count ) { // bail early if no sub fields if ( ! $field['sub_fields'] ) { return $valid; } // loop rows foreach ( $value as $i => $row ) { // Skip rows that were deleted in paginated repeaters. if ( false !== strpos( $i, '_deleted' ) ) { continue; } // loop sub fields foreach ( $field['sub_fields'] as $sub_field ) { // vars $k = $sub_field['key']; // test sub field exists if ( ! isset( $row[ $k ] ) ) { continue; } // validate acf_validate_value( $row[ $k ], $sub_field, "{$input}[{$i}][{$k}]" ); } // end loop sub fields } // end loop rows } return $valid; }