گرویتی فرم

ساخت فیلد تایید برای فیلد دیگر (مشابه پسورد)

تاریخ: پنج‌شنبه 5 مارس 2015

دسته بندی:  آموزش

تعداد نظر: ۱۵

تعداد بازدید: ۶۱۸۰


سلام
فرض کنید که شما یک فرمی ساختید که داخلش فیلد دلخواه مثلا فیلد تلفن دارید. حالا میخواید یک فیلد مشابه همون فیلد ایجاد کنید که کاربر این 2 تا فیلد رو دقیقا عین هم پر کنه وگرنه نتونه فرم رو ارسال کنه. دقیقا مثل فیلد ایمیل و تایید ایمیل یا فیلد پسورد و تایید پسورد که باید دقیقا یکسان پر بشن.

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

برای این کار باید کد زیر رو داخل فانکشن قالب تون قرار دارید.قبل از هر کاری از پوشه قالبتون داخل هاست یک کپی بگیرید واسه اطمینان.
فایل functions.php قالب رو باز کنید و برید دقیقا خط آخرش.
خوب دقت کنید که خط آخرش آیا علائم <? وجود داره یا نه.
اگه وجود نداشت که هیچی ولی اگه داشت حذفش کنید. دقت کنید که فقط همین عبارت که شامل یک علامت کوچکتر بزرگتری و یک علامت سوال هست رو حذف کنید نه چیز دیگه رو. حالا دقیقا بعدش کد زیر رو اضافه کنید .

add_filter('gform_validation', 'gfcf_validation');
function gfcf_validation($validation_result) {
    global $gfcf_fields;
     
    $form = $validation_result['form'];
    $confirm_error = false;
     
    if(!isset($gfcf_fields[$form['id']]))
        return $validation_result;
     
    foreach($gfcf_fields[$form['id']] as $confirm_fields) {
         
        $values = array();
         
        // loop through form fields and gather all field values for current set of confirm fields
        foreach($form['fields'] as $field) {
            if(!in_array($field['id'], $confirm_fields))
                continue;
                 
            $values[] = rgpost("input_{$field['id']}");
             
        }
         
        // filter out unique values, if greater than 1, a value was different
        if(count(array_unique($values)) <= 1)
            continue;
         
        $confirm_error = true;
         
        foreach($form['fields'] as &$field) {
            if(!in_array($field['id'], $confirm_fields))
                continue;
             
            // fix to remove phone format instruction
            if(RGFormsModel::get_input_type($field) == 'phone')
                $field['phoneFormat'] = '';
             
            $field['failed_validation'] = true;
            $field['validation_message'] = 'Your values do not match.'; 
        }
         
    }
     
    $validation_result['form'] = $form;
    $validation_result['is_valid'] = !$validation_result['is_valid'] ? false : !$confirm_error;
     
    return $validation_result;
}
 
function register_confirmation_fields($form_id, $fields) {
    global $gfcf_fields;
     
    if(!$gfcf_fields)
        $gfcf_fields = array();
         
    if(!isset($gfcf_fields[$form_id]))
        $gfcf_fields[$form_id] = array();
     
    $gfcf_fields[$form_id][] = $fields;
}


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

register_confirmation_fields(1, array(2, 3));

بجای عدد 1 باید آیدی فرمتون رو قرار بدید. بجای عدد 2 باید آیدی فیلد مورد نظرتون رو بزارید. بجای عدد 3 هم باید آیدی فیلد تایید (فیلد تکرار) رو وارد کنید.

اما اگه نمیدونید چطوری باید آیدی فرم و فیلدتون رو پیدا کنید به صورت زیر عمل کنید:
به منوی فرم ها برید و فرم مورد نظرتون رو انتخاب کنید تا ویرایش بشه. در صفحه ویرایشگر فرم بالای صفحه سمت راست، دقیقا زیر عبارت ویرایشگر فرم نوشته ID: سمت چپش هم اسم فرمتون رو نوشته. خب آیدی فرم که تا اینجا پیدا شد.

برای پیدا کردن آیدی فیلد هم توی همون صفحه ویرایش گر فرم با موس برید روی فیلد مورد نظر، حالا میبینید که بالای فیلد سمت چپ، نوشته چک باکس : شماره فیلد : …
خب شماره فیلد همون آیدی فیلد هست. آیدی فیلد ها هم که ازینجا پیدا شد.

خب دیگه کار تمومه.


۱۵ دیدگاه برای این محصول ثبت شده است!

comment

AGHIL

پنجشنبه ۱۴ اسفند ۱۳۹۳

یک دنیا تشکر آقای گرویتی فرم پارسی.

comment

گرویتی فرم پارسی

جمعه ۱۵ اسفند ۱۳۹۳

خواهش دوست عزیز .

comment

محمد

شنبه ۲۹ فروردین ۱۳۹۴

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

comment

گرویتی فرم پارسی

شنبه ۲۹ فروردین ۱۳۹۴

سلام . دوست عزیز بنده که به شما بدهکار نیستم که اینطوری صحبت میکنید . تو همون پرشین اسکریپت تاپیکی که بازکردید رو دنبال کنید .

comment

hossein

دوشنبه ۹ شهریور ۱۳۹۴

با سلام با توجه به انعطاف زیاد این افزونه،آیا میشه یه فیلد برای تغییر رمز عبور کاربری ورود به سایت ایجاد کرد؟؟؟ در صورت وجود میشه راهنمایی کنید. با تشکر

comment

گرویتی فرم پارسی

سه شنبه ۱۰ شهریور ۱۳۹۴

سلام . برای ساخت فرم عضویت میشه از گرویتی استفاده کرد . اما برای لاگین و تغییر رمز بهتره از افزونه های دیگری استفاده بشه . نظیر همین افزونه ای که توی انجمن سایت برای ورود استفاده میکنم . تو مخزن زیاد هستن .

comment

ehsan12

شنبه ۱۱ مهر ۱۳۹۴

با سلام و خسته نباشید من یه سوال داشتم از خدمتتون اگه من از Gravity form به عنوان ارسال خرابی لینک در یک سایت استفاده کنم ایا امکانش هست که پس از پر شدن یه Text box و کامل کردن توضیحات پس از ارسال ID صفحه مورد نظر یا لینک صفحه ی که فرم تو اون پر شده برای ادمین ارسال بشه؟

comment

گرویتی فرم پارسی

شنبه ۱۱ مهر ۱۳۹۴

سلام . داخل هر پیام ورودی سمت چپ صفحه زیر آی پی کاربر نوشته "قرار دادن لینک" که لینک رو نشون میده . برای ایمیل و تاییدیه هم میتونید از برچسب {embed_url} استفاده کنید .

comment

ehsan12

سه شنبه ۱۴ مهر ۱۳۹۴

مرسی ممنون :)

comment

امیر

چهارشنبه ۲۹ مهر ۱۳۹۴

سلام میخواستم تمام تاییدیه های فرم (confirmation) در بالای سایت نمایش داده شود و در صفحه اصلی و عموم انرا ببینند چطور میشه اینکار کرد؟ با gform_confirmation_actions میشه یا gform_confirmation یا راه دیگر؟

comment

گرویتی فرم پارسی

جمعه ۸ آبان ۱۳۹۴

سلام تمام اکشن ها و هوک ها رو راحت از سایت gravityhelp.com میتونید پیدا کنید .

comment

mt.rezaei

جمعه ۱۸ دی ۱۳۹۴

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

comment

گرویتی فرم پارسی

یکشنبه ۲۰ دی ۱۳۹۴

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

comment

بامین تهویه

چهارشنبه ۱ شهریور ۱۳۹۶

ویژگی بارز و منحصر به فرد این فرم ساز، امکان ساخت و طراحی هرگونه فرم های پرداخت آنلاین کلیه بانک های عضو شتاب از طریق درگاه وب گیت و زرین گیت زرین پال، به صورت فرم های ساده، پیشرفته، شرطی و به طور هر گونه فرم پرداخت آنلاین، فقط به وسیله دراگ اند دراپ و بدون داشتن مبدل حرارتی هیچ گونه دانش فنی می باشد. این درگاه دارای سیستم گزارش و آمار پیشرفته برای مشاهده روند تغییرات تراکنش های شما بر اساس بازه های زمانی می باشد .

comment

گرویتی فرم پارسی

چهارشنبه ۱ شهریور ۱۳۹۶

باشه


ارسال نظر برای این مطلب غیرفعال شده است.