acf_validation{} ACF 1.0
Хуков нет.
Возвращает
Null. Ничего.
Использование
$acf_validation = new acf_validation(); // use class methods
Методы
- __construct()
- acf_validate_save_post()
- add_error( $input, $message )
- ajax_validate_save_post()
- get_error( $input )
- get_errors()
- reset_errors()
Код acf_validation{} acf validation{} ACF 5.9.1
<?php
class acf_validation {
/*
* __construct
*
* This function will setup the class functionality
*
* @type function
* @date 5/03/2014
* @since 5.0.0
*
* @param n/a
* @return n/a
*/
function __construct() {
// vars
$this->errors = array();
// ajax
add_action('wp_ajax_acf/validate_save_post', array($this, 'ajax_validate_save_post'));
add_action('wp_ajax_nopriv_acf/validate_save_post', array($this, 'ajax_validate_save_post'));
add_action('acf/validate_save_post', array($this, 'acf_validate_save_post'), 5);
}
/*
* add_error
*
* This function will add an error message for a field
*
* @type function
* @date 25/11/2013
* @since 5.0.0
*
* @param $input (string) name attribute of DOM elmenet
* @param $message (string) error message
* @return $post_id (int)
*/
function add_error( $input, $message ) {
// add to array
$this->errors[] = array(
'input' => $input,
'message' => $message
);
}
/*
* get_error
*
* This function will return an error for a given input
*
* @type function
* @date 5/03/2016
* @since 5.3.2
*
* @param $input (string) name attribute of DOM elmenet
* @return (mixed)
*/
function get_error( $input ) {
// bail early if no errors
if( empty($this->errors) ) return false;
// loop
foreach( $this->errors as $error ) {
if( $error['input'] === $input ) return $error;
}
// return
return false;
}
/*
* get_errors
*
* This function will return validation errors
*
* @type function
* @date 25/11/2013
* @since 5.0.0
*
* @param n/a
* @return (array|boolean)
*/
function get_errors() {
// bail early if no errors
if( empty($this->errors) ) return false;
// return
return $this->errors;
}
/*
* reset_errors
*
* This function will remove all errors
*
* @type function
* @date 4/03/2016
* @since 5.3.2
*
* @param n/a
* @return n/a
*/
function reset_errors() {
$this->errors = array();
}
/*
* ajax_validate_save_post
*
* This function will validate the $_POST data via AJAX
*
* @type function
* @date 27/10/2014
* @since 5.0.9
*
* @param n/a
* @return n/a
*/
function ajax_validate_save_post() {
// validate
if( !acf_verify_ajax() ) die();
// vars
$json = array(
'valid' => 1,
'errors' => 0
);
// success
if( acf_validate_save_post() ) {
wp_send_json_success($json);
}
// update vars
$json['valid'] = 0;
$json['errors'] = acf_get_validation_errors();
// return
wp_send_json_success($json);
}
/*
* acf_validate_save_post
*
* This function will loop over $_POST data and validate
*
* @type function
* @date 7/09/2016
* @since 5.4.0
*
* @param n/a
* @return n/a
*/
function acf_validate_save_post() {
// bail early if no $_POST
if( empty($_POST['acf']) ) return;
// validate
acf_validate_values( $_POST['acf'], 'acf' );
}
}