WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

acf_field_repeater::validate_value() public ACF 5.0.0

description

{} Это метод класса: acf_field_repeater{}

Хуков нет.

Возвращает

$post_id. (int)

Использование

$acf_field_repeater = new acf_field_repeater();
$acf_field_repeater->validate_value( $valid, $value, $field, $input );
$valid (обязательный)
-
$value (обязательный)
-
$field (обязательный)
-
$input (обязательный)
-

Список изменений

С версии 5.0.0 Введена.

Код acf_field_repeater::validate_value() ACF 5.9.1

<?php
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( $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 ) {
			
			// 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
	return $valid;
}