با سلام خدمت کاربران عزیز
یکی از عمده مشکلاتی که در پلاگین فرم ساز گرویتی فرم وجود دارد،این هست که نمی توان حدی برای ورودی فیلدها تعیین کرد تا کاربران نتوانند کمتر از آن وارد کنند. به عنوان مثال سایت هایی که فرمی برای ارسال رزومه افراد آماده کرده اند و در بعضی از فیلدها باید افراد یک رزومه کامل از خود قرار دهند، به همین منظور باید یک (minimum) برای فیلد ورودی تعیین شود.

نحوه انجام کار

<?php class GW_Minimum_Characters { public function __construct( $args = array() ) { $this->_args = wp_parse_args( $args, array( 
    		'form_id' => false,
    		'field_id' => false,
    		'min_chars' => 0,
            'max_chars' => false,
            'validation_message' => false,
            'min_validation_message' => __( 'Please enter at least %s characters.' ),
            'max_validation_message' => __( 'You may only enter %s characters.' )
    	) );

        extract( $this->_args );

        if( ! $form_id || ! $field_id || ! $min_chars )
            return;

    	add_filter( &quot;gform_field_validation_{$form_id}_{$field_id}&quot;, array( $this, 'validate_character_count' ), 10, 4 );

    }

    public function validate_character_count( $result, $value, $form, $field ) {
        $char_count = strlen( $value );
        $is_min_reached = $this->_args['min_chars'] !== false && $char_count >= $this->_args['min_chars'];
        $is_max_exceeded = $this->_args['max_chars'] !== false && $char_count > $this->_args['max_chars'];
        if( ! $is_min_reached ) {
            $message = $this->_args['validation_message'];
            if( ! $message )
                $message = $this->_args['min_validation_message'];
            $result['is_valid'] = false;
            $result['message'] = sprintf( $message, $this->_args['min_chars'] );
        } else if( $is_max_exceeded ) {
            $message = $this->_args['max_validation_message'];
            if( ! $message )
                $message = $this->_args['validation_message'];
            $result['is_valid'] = false;
            $result['message'] = sprintf( $message, $this->_args['max_chars'] );
        }

        return $result;
    }

}
?>

برای اینکه بتوان کمترین مقدار ورودی را تعیین کرد ابتدا باید فایل function.php  قالب خود را باز کنید یا از طریق ویرایشگر قالب وردپرس و یا از طریق مدیریت هاست و این چند خط کد زیر را در آن فایل کپی کنید.

کد بالا تابع اصلی می باشد که وجود آن حتما لازم هست.
برای تعیین محدودیت باید کدهای زیر را به ازای هر فیلد ورودی پس از تابع فوق جایگذاری کنید.

new GW_Minimum_Characters( array(
    'form_id' => 4,
    'field_id' => 18,
    'min_chars' => 100,
    'validation_message' => __( 'متن وارد شده کمتر از %s کاراکتر می باشد.' )
) );

نکته
زمانی که میخواهید کد را در قالب خود جایگذاری کنید حتما باید موارد زیر را رعایت کنید:

  1. form_id : این شماره فرم شما می باشد.
  2. field_id : شماره فیلد ورودی که میخواهید برای آن کمترین مقدار را مشخص کنید.
  3. min_chars : شما از میتوانید محدودیت ورودی فیلد را از این طریق مشخص کنید.
  4. validation_message : این پیغامی زمانی به کاربر نمایش داده می شود که کاراکترهای وارد شده  کمتر از آن حد باشد.

خب، تا حالا ما مشخص کردیم که کاربر حداقل چه مقدار کاراکتر می تواند در فیلد ورودی وارد نماید. اما باید یک مقدار حداکثر هم تعیین کرد، برای انجام این کار به تصویر زیر دقت نمائید:

ابتدا به قسمت تنظیمات فیلد مربوطه رفته و بر روی تب “عمومی” کلیک نمائید، در این تب قسمتی با عنوان “حداکثر کاراکتر” وجود دارد که در فیلد ورودی آن می توانید با مقدار عددی حداکثر کاراکتر ورودی را مشخص کنید.

فهرست
سوالی دارید؟ با ما صحبت کنید!
مکالمه را شروع کنید
سلام! برای چت در واتساپ شخص مورد نظر خود را انتخاب کنید.
ما معمولاً در چند دقیقه پاسخ می دهیم