Contactable\SWV
StepNumberRule{}└─ Rule
Хуков нет.
Использование
$StepNumberRule = new StepNumberRule(); // use class methods
Методы
- public matches( $context )
- public validate( $context )
Код StepNumberRule{} StepNumberRule{} CF7 6.1.3
class StepNumberRule extends Rule {
const rule_name = 'stepnumber';
public function matches( $context ) {
if ( false === parent::matches( $context ) ) {
return false;
}
if ( empty( $context['text'] ) ) {
return false;
}
return true;
}
public function validate( $context ) {
$input = $this->get_default_input();
$input = wpcf7_array_flatten( $input );
$input = wpcf7_strip_whitespaces( $input );
$input = wpcf7_exclude_blank( $input );
$base = floatval( $this->get_property( 'base' ) );
$interval = floatval( $this->get_property( 'interval' ) );
if ( ! ( 0 < $interval ) ) {
return true;
}
foreach ( $input as $i ) {
$remainder = fmod( floatval( $i ) - $base, $interval );
if (
0.0 === round( abs( $remainder ), 6 ) or
0.0 === round( abs( $remainder - $interval ), 6 )
) {
continue;
}
return $this->create_error();
}
return true;
}
}