কাস্টম মেটা বক্সের মান এবং প্রয়োজনীয় ক্ষেত্রগুলি বৈধকরণ


16

কাস্টম পোস্ট টাইপ মেটা বাক্সগুলির জন্য নির্দিষ্ট ফর্ম ক্ষেত্রগুলি সঠিকভাবে পূরণ করা হয়েছে যা যাচাই করার সেরা উপায় হ'ল যা আমি কখনই আচ্ছাদিত দেখিনি

আমি যে কোনও মেটাবক্সগুলি তৈরি করতে পারি তার জন্য কাস্টম ক্ষেত্রগুলিকে কীভাবে সর্বোত্তম করতে হবে সে সম্পর্কে বিশেষজ্ঞের মতামত পেতে চাই। আমার আগ্রহ হ'ল:

  • পোস্ট প্রকাশিত / আপডেট হওয়ার আগে ক্ষেত্রের বৈধতা গ্রহণের বিষয়টি নিশ্চিত করে
  • এমন কোনও শ্রেণি / কোড ব্যবহার করা যা অন্য ওয়ার্ডপ্রেস জাভাস্ক্রিপ্টের সাথে বিরোধ নয়
  • অন্যগুলি alচ্ছিক হতে পারে এমন সময় আপনাকে প্রয়োজনীয় ক্ষেত্রগুলি সংজ্ঞায়িত করতে দেয়
  • ইমেল ফর্ম্যাটের মতো জিনিসের জন্য রেজেেক্স সহ কাস্টমাইজযোগ্য নিয়মের ভিত্তিতে ক্ষেত্রগুলিকে বৈধতা দিন
  • কোনও ত্রুটি / নোটিশগুলির চাক্ষুষ প্রদর্শন নিয়ন্ত্রণ করুন control

আগাম ধন্যবাদ!

উত্তর:


21

সবচেয়ে সহজ উপায় jQuery বৈধতা প্লাগইন মাধ্যমে জাভাস্ক্রিপ্ট বৈধতা যুক্ত করা হয় । এখানে সর্বাধিক প্রাথমিক ওয়াকথ্রু:

আপনার অ্যাড_মেটা_বক্স কলটির নিকটে, আপনার সাধারণ স্ক্রিপ্টের জন্য jQuery বৈধতা প্লাগইন পাশাপাশি একটি জেএস ফাইল সজ্জিত করুন:

add_action('admin_enqueue_scripts', 'add_my_js');   
function add_my_js(){    
  wp_enqueue_script('my_validate', 'path/to/jquery.validate.min.js', array('jquery'));
  wp_enqueue_script('my_script_js', 'path/to/my_script.js');
}

তারপরে my_script.js এ নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

jQuery().ready(function() {
    jQuery("#post").validate();
});

এটি পোস্ট ফর্মটিতে বৈধতা সক্ষম করবে। তারপরে অ্যাড_মেটা_বক্স কলব্যাক যেখানে আপনি কাস্টম ক্ষেত্রগুলি সংজ্ঞায়িত করেছেন, আপনি প্রতিটি ক্ষেত্রের জন্য যাচাই করতে চান তার জন্য "প্রয়োজনীয়" শ্রেণি যুক্ত করবেন, এর মতো:

<input type="text" name="my_custom_text_field" class="required"/>

তাদের শ্রেণিতে "প্রয়োজনীয়" সহ সমস্ত ক্ষেত্রগুলি পোস্ট সংরক্ষণ / প্রকাশিত / আপডেট হওয়ার পরে বৈধ হবে। অন্যান্য সমস্ত বৈধতা বিকল্প (নিয়ম, ত্রুটি স্টাইলিং ইত্যাদি) নথিতে সেট করা যেতে পারে my my_script.js এ প্রস্তুত ফাংশন; সমস্ত বিকল্পের জন্য jQuery বৈধতা ডক্স পরীক্ষা করুন।


আপনাকে ধন্যবাদ, আমি আগামীকাল এটি চেষ্টা করবো তবে আপনি কীভাবে আলাদা বৈধতা করবেন তা ব্যাখ্যা করতে পারেন। উদাহরণস্বরূপ একটি সঠিক ইমেল ঠিকানাটির জন্য বৈধকরণ, যা ফর্ম ক্ষেত্রটি পূরণ করা হয়েছে এমন কমপক্ষে XX অক্ষরের বেশি বা নেই বলে যাচাই করা হচ্ছে ... এর মতো জিনিস?
নেটকন্সট্রাক্টর.কম

এছাড়াও, পোস্টটি সংরক্ষণ / আপডেট করার আগে এই বৈধতা দেওয়া হয়? তা না হলে আমি কীভাবে এটি করতে পারি?
নেটকন্সট্রাক্টর.কম

JQuery বৈধকরণ প্লাগইন (আমার উত্তরের সাথে সংযুক্ত) এর উদাহরণ এবং ডকুমেন্টেশন আপনাকে কীভাবে এই সমস্ত জিনিসগুলি করতে হয় তা দেখায়। বৈধতা ডিফল্টরূপে জমা দেওয়ার সময় ঘটে তবে আপনি এটিকে অস্পষ্ট বা আপনার কাস্টম ক্ষেত্রগুলির জন্য কোনও ফর্ম উপাদানটির পরিবর্তনে ট্রিগার করতে পারেন।
danblaker

আমি এই সমাধানটি বাস্তবায়ন করেছি এবং এটি খুব আশাব্যঞ্জক দেখাচ্ছে, একটি সমস্যা যদিও, আমি 'সাবমিট হ্যান্ডলার'-এ কী রাখি? Jquery. માન્ય সাথে বৈধতার পরে, ওয়ার্ডপ্রেস কিছুই করে না (বাচুন অ্যানিমেটেড অবস্থায় থেকে যায়)। আমি কীভাবে বাচ্চাকে ডব্লিউপি-তে ফিরিয়ে দেব?
মাইকে 23

2
যদি আপনি কেবল প্রয়োজনীয় ক্ষেত্রটি খালি (বা অন্য কোনও বৈধতা ব্যর্থ হয়) প্রকাশের বাটনটিকে তার স্বাভাবিক অবস্থায় ফিরে পাওয়ার চেষ্টা করছেন, আপনার সাবম্যান্ডহ্যান্ডলারের সাথে কিছু করার দরকার নেই; যখন বৈধতা ব্যর্থ হয় তখন বোতামটি পরিবর্তন করতে বৈধতা () কোডটি সম্পাদনা করুন। এটি কাজ করে: jQuery ("# ​​পোস্ট") valid ('দৃশ্যমানতা', 'লুকানো');}});
ড্যানব্লেকার

2

JQuery বৈধকরণ যুক্ত করতে সম্পূর্ণ বেসিক কোড:

  1. বৈধতা স্ক্রিপ্ট সজ্জিত করুন। আমি ধরে নিই jQuery ইতিমধ্যে enqued।

    add_action('admin_enqueue_scripts',function($id){
        $validation',$validation_js_url = #your validation.js source;
        wp_register_script( 'validation',$validation_js_url,array(),'',true );
        wp_enqueue_script( 'validation' );
    });
  2. জেএস ফাইল বা স্ক্রিপ্ট ট্যাগে:

    jQuery(document).ready(function($){
        var form = $("form[name='post']");
        $(form).find("input[type='submit']").click(function(e){
            e.preventDefault();
            $(form).validate();
    
            if($(form).valid())
            {
                $("#ajax-loading").show();
                $(form).submit();
            }else{
                $("#publish").removeClass().addClass("button-primary");
                $("#ajax-loading").hide();
            }
        });
    });
  3. সম্পন্ন :)


সার্ভার সাইড সম্পর্কে কি?
নেটকন্সট্রাক্টর.কম

2

আমি এই কোডটি ব্যবহার করেছি, খুব সহায়ক, জাস্টা পরিবর্তিত হয়েছে:

$(form).find("input[type='submit']").click(function(e){

প্রতি:

$(form).find("#publish").click(function(e){

'আপনার যদি মূল ফর্মের ভিতরে অন্য কোনও ফর্ম থাকে তবে এই স্ক্রিপ্টটি শুরু করুন।

এবং:

$(form).submit();

প্রতি:

$(this).submit();

'প্রথম লাইনটি কেবল পোস্টটিকে খসড়া হিসাবে সংরক্ষণ করে এবং আপনি এটি আর প্রকাশ করতে পারবেন না।

এখানে সমস্ত কিছু লিখেছেন: http://allographicics.it/blog/2012/10/jquery-uthorization-sui-campi-di-input-postcustom-post-di-wordpress/


2

আমি পিএইচপি কোড ব্যবহার করে বৈধতাযুক্ত মেটাবক্স ক্ষেত্রগুলির সমস্যা সমাধানের জন্য এই পদ্ধতির সন্ধান পেয়েছি

https://tommcfarlin.com/post-meta-data-error-messages/

আশা করি এটি আপনাকে সহায়তা করে (আমার জন্য অনুরূপ দৃশ্যে কাজ করে)


যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
গ্যাব্রিয়েল

0

আপনি যদি সার্ভারের পক্ষে বৈধতা অর্জন করতে সক্ষম হতে চান তবে সবচেয়ে সহজ বিকল্পটি হ'ল উন্নত কাস্টম ক্ষেত্রগুলি আপনার কাস্টম ক্ষেত্রের বিন্যাসগুলি সংজ্ঞায়িত করতে এবং তারপরে ওয়ার্ডপেট অ্যাডমিনে প্রতি ক্ষেত্রে আপনার বৈধতা সেট করার জন্য বৈধতাযুক্ত ক্ষেত্র অ্যাড-অন on

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.