Automattic\WooCommerce\Internal\Admin\Settings
SettingsUISchema::assert_field_validation
Assert canonical field validation metadata.
Method of the class: SettingsUISchema{}
No Hooks.
Returns
null. Nothing (null).
Usage
$result = SettingsUISchema::assert_field_validation( $field ): void;
- $field(array) (required)
- Field definition.
SettingsUISchema::assert_field_validation() SettingsUISchema::assert field validation code WC 11.2.1
private static function assert_field_validation( array $field ): void {
if ( ! array_key_exists( 'validation', $field ) ) {
return;
}
if ( ! is_array( $field['validation'] ) || ! in_array( $field['type'], array( 'number', 'integer' ), true ) ) {
throw self::invalid_schema( sprintf( 'Field "%s" validation is supported only for numeric fields.', $field['id'] ) );
}
foreach ( $field['validation'] as $rule => $value ) {
if ( ! in_array( $rule, array( 'min', 'max' ), true ) || null === $value || ! self::is_canonical_number( $value ) ) {
throw self::invalid_schema( sprintf( 'Field "%1$s" validation rule "%2$s" must be a finite numeric bound.', $field['id'], (string) $rule ) );
}
if ( 'integer' === $field['type'] && ! is_int( $value ) ) {
throw self::invalid_schema( sprintf( 'Field "%1$s" validation rule "%2$s" must be an integer.', $field['id'], $rule ) );
}
}
}