اعتبار سنجی فیلد شماره تلفن در ویجت فرم المنتور

اشتراک گذاری در telegram
اشتراک گذاری در whatsapp
اشتراک گذاری در facebook
اشتراک گذاری در twitter
اشتراک گذاری در linkedin
اشتراک گذاری در email
اشتراک گذاری در print
اعتبار سنجی فیلد شماره تلفن در المنتور

در هنگام استفاده از ویجت فرم المنتور، زمانی که از فیلد شماره تلفن استفاده کرده باشید، متوجه شده اید که این فیلد هر نوع شماره ای از 1 رقم تا 20 رقم بدون محدودیت دریافت می کند. یعنی ممکن است کاربر شماره را به صورت 0912 ناقص وارد کند و فرم هیچ تاییدی انجام ندهد.

خب اگر فرم تماسی که ایجاد کرده اید، لازم است شماره تلفن را به صورت صحیح از کاربر دریافت کند، این فیلد ممکن است با کمی خطا، شماره را از کاربر دریافت کند. یا حتی زمانی که کاربر قصد دارد یک شماره موبایل نادرست را فقط برای ارسال فرم استفاده کنید می توانید از این روش استفاده کنید.

فرمت تلفن فرم ویجت

در این ترفند قصد داریم تا یک فرمت اجباری به فیلد شماره تماس المنتور داده تا هنگام وارد کردن شماره توسط کاربر هیچ اشتباهی رخ ندهد.

اعتبار سنجی فیلد شماره تلفن در ویجت فرم

اضافه کردن کد اعتبار سنجی

ابتدا کد زیر را در فایل Function.php قالب تون در انتهای کد های دیگر قرار دهید. از مسیر wp-content/themes وارد پوشه قالب رفته و فایل function را ویرایش کنید.

بعد از قرار دادن این کد، فرمت وارد شده درفیلد شماره تلفن باید به صورت 09xxxxxxxx باشد.

add_action( 'elementor_pro/forms/validation/tel', function( $field, $record, $ajax_handler ) {
	//remove native validation
	/**
	 * @var \ElementorPro\Modules\Forms\Module $forms_module
	 */
	$forms_module = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'forms' );
	remove_action( 'elementor_pro/forms/validation/tel', [ $forms_module->field_types['tel'], 'validation' ] );

	// run your own validation, ex:
	if ( empty( $field['value'] ) ) {
		return;
	}
	// Match this format 09XXXXXXXX, 0912345678
	if ( preg_match( '/[0-0]{1}[9-9]{1}[0-9]{9}/', $field['value'] ) !== 1 ) {
		$ajax_handler->add_error( $field['id'], 'مطمئن شوید شماره تلفن با فرمت 09xxxxxxxx باشد, eg: 0912345678' );
	}
}, 9, 3 );

add_action( 'elementor_pro/forms/render_field/tel', function( $item, $item_index, $form ) {
	//remove native render
	/**
	 * @var \ElementorPro\Modules\Forms\Module $forms_module
	 */
	$forms_module = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'forms' );
	remove_action( 'elementor_pro/forms/render_field/tel', [$forms_module->field_types['tel'] , 'field_render' ], 10, 3 );

	// add your custom render ex:
	$form->add_render_attribute( 'input' . $item_index, 'class', 'elementor-field-textual' );
	$form->add_render_attribute( 'input' . $item_index, 'pattern', '[0-0]{1}[9-9]{1}[0-9]{9}' );
	$form->add_render_attribute( 'input' . $item_index, 'title', __( 'شماره تلفن باید با 09 شروع شود.', 'plugin-name' ) );
	echo '<input size="1" ' . $form->get_render_attribute_string( 'input' . $item_index ) . '>';
}, 9, 3 );

در صورت وارد کردن شماره تلفن ناقص، خطای زیر نمایش داده می شود و تا زمانی که شماره تلفن صحیح وارد نشود فرم قابل ارسال نمی باشد.

تاییده شماره تلفن در المنتور

امیدواریم که از این ترفند هم به خوبی استفاده کرده باشید. در صورت مشکل در اجرای این آموزش از بخش نظرات با ما در تماس باشید.

امتیاز دهید

اشتراک گذاری

اشتراک گذاری در telegram
اشتراک گذاری در whatsapp
اشتراک گذاری در facebook
اشتراک گذاری در twitter
اشتراک گذاری در linkedin
اشتراک گذاری در email

آخرین مقالات

آخرین محصولات

آخرین محصولات دیجیتال

برچسب ها

لینک کوتاه

https://elementorfa.ir/?p=27603

فهرست مطالب

وحید
وحید در 09:32

سلام و درود
عالی بود..
اون please match … رو چطور فارسیش کنم؟

پاسخ
رضا فرد
رضا فرد در 10:36

من از فرم المنتور پک برای ورود استفقاده کردم. منی خوام بدونم میشه به جای ایمیل ، شماره تلفن گرفت؟

پاسخ
المنتور فارسی
المنتور فارسی در 13:08

با سلام
می توانید نام کاربری را به عنوان موبایل دریافت کنید.

پاسخ
رضا فرد
رضا فرد در 10:34

آیا میشه جای ایمیل از کاربر موبایل گرفت؟

پاسخ
المنتور فارسی
المنتور فارسی در 13:08

با سلام
می توانید از شماره تفان استفاده کنید.

پاسخ
Avatar
قاسمی در 10:22

سلام اگر میخام بین المللی باشه چطور میشه اینو انجام داد؟
بعد اضافه کردن کد از طریق کنترل پنل یا وردپرس میشه انجام داد؟

پاسخ
المنتور فارسی
المنتور فارسی در 11:45

با سلام
باید الگوی مورد نظر تون رو جایگزین الگوی فعلی کنید.
از طریق وردپرس هم میشه انجام داد.

پاسخ
Avatar
سید محمد حسینی در 15:52

امتحان کردم خیلی عالی بود

پاسخ
امیرحسین عقیقی
امیرحسین عقیقی در 14:58

با سلام ، من می خوام کد تایید برای کاربر ارسال بشه و با وارد کردن اون کد حساب کاربری قابلیت خرید پیدا بکنه ، باید چه کار کنم ؟

پاسخ
المنتور فارسی
المنتور فارسی در 16:22

با سلام
با استفاده از افزونه Action Pack می تونید کد تایید ارسال کنید. البته فعلا با ایمیل میشه. اپراتور های موبایل ایرانی هم بزودی اضافه خواهند شد.

پاسخ
وحید
وحید در 23:00

واقعا عالی بود ممنون از شما

پاسخ
المنتور فارسی
المنتور فارسی در 00:20

ممنون از همراهی شما

پاسخ

نظرات ارزشمند خود را به اشتراک بگذارید

نیاز به کمک دارید؟ پیام دهید