BUG: Using new HTML attributes for a field doesn’t work

4.54K viewsIssues
0

I want this input to be of type=”number” and with min=”0.50″ and step=”0.25″, but it doesn’t work. The field stays as an integer and can allow negative numbers. Why is this happening?

 

public function ask_form_amount_field($args, $editing){
if(wp_count_terms('question_amount_field') == 0)
return $args; //Taxonomy stuff?

global $editing_post;

if($editing){
$amount_field = get_the_terms( $editing_post->ID, 'question_amount_field' );
$amount_field = $amount_field[0]->term_id;
} //More things purely related to taxonomy, it seems.

$args['fields'][] = array(
'name' => 'amount_field',
'label' => __('Amount field label', 'amount_field_for_anspress'),
'type' => 'number',
'value' => ( $editing ? $amount_field : sanitize_text_field(@$_POST['amount_field'] )), 
'taxonomy' => 'question_amount_field',
'orderby' => ap_opt('form_amount_field_orderby'),
'desc' => __('Enter the amount you wish to tip someone for fulfilling your request.', 'amount_for_anspress'),
'order' => 7,
'min' => 0.50,
'step' => 0.25
);

return $args;

}

How you are processing the field?

In another question you suggested to simply paste into theme -> functions.php (link –> https://anspress.io/questions/question/which-php-files-do-i-need-to-modify-in-order-to-add-a-new-field-in-the-question-form/?show_answer=6983&ap_notification_read=184825#answer_6983). But instead I made this project into an extension for anspress (similar to how categories-for-anspress is an extension). I am using the lines of code below in my Find-Do-For-Anspress class.

add_action( ‘ap_ask_form_fields’, array( $this, ‘ask_form_amount_field’ ), 10, 2 );
add_action( ‘ap_ask_fields_validation’, array( $this, ‘ap_ask_fields_validation’ ) );
add_action( ‘ap_processed_new_question’, array( $this, ‘after_new_question’ ), 0, 2 );
add_action( ‘ap_processed_update_question’, array( $this, ‘after_new_question’ ), 0, 2 );

public function ap_ask_fields_validation($args){

if(wp_count_terms(‘question_amount_field’) == 0)
return $args;

$args[‘amount_field’] = array(
//’sanitize’ => array(‘only_int’), THIS LINE IS COMMENTED OUT
‘validate’ => array(‘required’),
);

return $args;
}

public function after_new_question($post_id, $post)
{
global $validate;

if(empty($validate))
return;

$fields = $validate->get_sanitized_fields();

if(isset($fields[‘amount_field’]))
$amount = wp_set_post_terms( $post_id, $fields[‘amount_field’], ‘question_amount_field’ );

}

0

Just try input as text field instead of number

So then is it possible to add numeric validation using javascript?