<?php class WPCF7_SWV_EnumRule extends WPCF7_SWV_Rule { const rule_name = 'enum'; public function matches( $context ) { if ( false === parent::matches( $context ) ) { return false; } if ( empty( $context['text'] ) ) { return false; } return true; } public function validate( $context ) { $field = $this->get_property( 'field' ); $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); $acceptable_values = (array) $this->get_property( 'accept' ); $acceptable_values = array_map( 'strval', $acceptable_values ); $acceptable_values = array_filter( $acceptable_values ); $acceptable_values = array_unique( $acceptable_values ); foreach ( $input as $i ) { if ( ! in_array( $i, $acceptable_values, true ) ) { return new WP_Error( 'wpcf7_invalid_enum', $this->get_property( 'error' ) ); } } return true; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
date.php | File | 684 B | 0644 |
|
dayofweek.php | File | 1.09 KB | 0644 |
|
email.php | File | 688 B | 0644 |
|
enum.php | File | 956 B | 0644 |
|
file.php | File | 1.42 KB | 0644 |
|
maxdate.php | File | 825 B | 0644 |
|
maxfilesize.php | File | 796 B | 0644 |
|
maxitems.php | File | 787 B | 0644 |
|
maxlength.php | File | 869 B | 0644 |
|
maxnumber.php | File | 851 B | 0644 |
|
mindate.php | File | 825 B | 0644 |
|
minfilesize.php | File | 796 B | 0644 |
|
minitems.php | File | 787 B | 0644 |
|
minlength.php | File | 869 B | 0644 |
|
minnumber.php | File | 851 B | 0644 |
|
number.php | File | 692 B | 0644 |
|
required.php | File | 654 B | 0644 |
|
requiredfile.php | File | 695 B | 0644 |
|
tel.php | File | 680 B | 0644 |
|
time.php | File | 684 B | 0644 |
|
url.php | File | 680 B | 0644 |
|