Support

Account

Home Forums Front-end Issues acf/validate_value only on the front end not in the User area Reply To: acf/validate_value only on the front end not in the User area

  • Looking at another thread I saw ended up doing this:

    function my_acf_validate_value( $valid, $value, $field, $input ) {
    	
    	$current_id = get_current_user_id();
    	$wp_user_id = 'user_' . $current_id;
    	$current_email = get_the_author_meta('user_email', $current_id);
    	
    	if( $_POST['acf']['register'] == 'true' ) {
    		if($value == "" || $value == " ") {
    			$valid = "Email field cannot be empty";
    		} elseif( email_exists($value) && $value != $current_email ) {
    			$valid = "This email already exists. Use a unique email";
    		}
    	}
    	return $valid;
    	
    }

    and I added a hidden field called ‘register’ to ‘html_after_fields’ to the form which the above checked. See what I did here:

    function zUpdate( $atts, $content = null ) {
    	
    	$current_id = get_current_user_id();
    	$user_id = 'user_' . $current_id;	
    	
    	$options = array(
    	    'post_id' => $user_id,
    	    /* my field group grabs unit, home phone, and cell phone acf */
    	    'field_groups' => array('3307', ),
    	    'submit_value' => 'Update',
    	    'html_after_fields' => '<input type="hidden" name="acf[register]" value="true"/>',
    	);
    	$form = acf_form( $options );
    	return $form;	
    
    }