LLMS_Form_Handler::validate_fields( array $posted_data, string $location, array[] $fields, string $action )
Form fields submission validation.
Parameters Parameters
- $posted_data
-
(array) (Required) User-submitted form data.
- $location
-
(string) (Required) Form location ID.
- $fields
-
(array[]) (Required) Array of LifterLMS Form Fields.
- $action
-
(string) (Required) User action to perform.
Return Return
(boolean|WP_Error) Returns true
on success and an error object on failure.
Source Source
File: includes/forms/class-llms-form-handler.php
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | protected function validate_fields( $posted_data , $location , $fields , $action ) { /** * Run an action immediately prior to user registration or update. * * The dynamic portion of this hook, `$action`, can be either "registration" or "update". * * @since 3.0.0 * @since 5.0.0 Moved from `LLMS_Person_Handler::update()` & LLMS_Person_Handler::register(). * Added parameters `$fields` and `$args`. * Triggered by `do_action_ref_array()` instead of `do_action()` allowing modification * of `$posted_data` and `$fields` via hooks. * * @param array $posted_data Array of user-submitted data (passed by reference). * @param string $location Form location. * @param array[] $fields Array of LifterLMS Form Fields (passed by reference). */ do_action_ref_array( "lifterlms_before_user_{$action}" , array ( & $posted_data , $location , & $fields ) ); // Check for all required fields. $required = $this ->validator->validate_required_fields( $posted_data , $fields ); /** * Filter the required fields validity of the form submission. * * The dynamic portion of this hook, `$action`, can be either "registration" or "update". * * @since 5.0.1 * * @param WP_Error|true $valid Error object containing required validation errors or true when the data is valid. * @param array $posted_data Array of user-submitted data. * @param string $location Form location. */ $required = apply_filters( "lifterlms_user_{$action}_required_data" , $required , $posted_data , $location ); if ( is_wp_error( $required ) ) { return $this ->submit_error( $required , $posted_data , $action ); } $posted_data = wp_unslash( $posted_data ); $valid = $this ->validator->validate_fields( $posted_data , $fields ); if ( is_wp_error( $valid ) ) { return $this ->submit_error( $valid , $posted_data , $action ); } // Validate matching fields. $matches = $this ->validator->validate_matching_fields( $posted_data , $fields ); if ( is_wp_error( $matches ) ) { return $this ->submit_error( $matches , $posted_data , $action ); } /** * Filter the validity of the form submission. * * The dynamic portion of this hook, `$action`, can be either "registration" or "update". * * @since 3.0.0 * @since 5.0.0 Unknown. * * @param WP_Error|true $valid Error object containing validation errors or true when the data is valid. * @param array $posted_data Array of user-submitted data. * @param string $location Form location. */ $valid = apply_filters( "lifterlms_user_{$action}_data" , true, $posted_data , $location ); if ( is_wp_error( $valid ) ) { return $this ->submit_error( $valid , $posted_data , $action ); } /** * Run an action immediately after user registration/update fields have been validated. * * The dynamic portion of this hook, `$action`, can be either "registration" or "update". * * @since 3.0.0 * @since 5.0.0 Moved from `LLMS_Person_Handler::update()` & LLMS_Person_Handler::register(). * Added parameters `$fields` and `$args`. * * @param array $posted_data Array of user-submitted data. * @param string $location Form location. * @param array[] $fields Array of LifterLMS Form Fields. */ do_action( "lifterlms_user_{$action}_after_validation" , $posted_data , $location , $fields ); return true; } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
7.0.0 | Introduced. |