System.xML এ কাস্টম ফিল্ডের বৈধতা


9

আমি ম্যাজেন্টো 2 প্লাগইনটি বিকাশ করছি (আমি ম্যাজেন্টো 2-তে নতুন নতুন), এবং আমি system.xML- এ ক্ষেত্রটির বৈধতা নিয়ে কোনও সমস্যায় পড়েছি। আমি দীর্ঘদিন ধরে অনুসন্ধান করেছিলাম এবং উত্তর খুঁজে পাইনি। আমি একটি নতুন ক্ষেত্র যুক্ত করেছি তবে রেজিক্স ব্যবহার করে আমার এই ক্ষেত্রটি বৈধ করতে হবে। আমি দেখেছি যে কিছুটা ডিফল্ট বৈধতা আছে তবে আমার কাস্টম দরকার, যাচাইকারীকে নতুন বৈধকরণের নিয়ম যুক্ত করার কোনও উপায় আছে কি?


1
আপনার কোন ধরণের বৈধতা লাগানো দরকার?
ধীরেন ভસોয়া

উত্তর:


4

মূলত, আপনাকে নিজের কাস্টম বৈধকরণের পদ্ধতিটি নিবন্ধভুক্ত করতে হবে এবং তারপরে এটি system.xmlফাইলের ক্ষেত্রে আপনার ক্ষেত্রের জন্য ব্যবহার করতে হবে ।

আপনার বৈধতা পদ্ধতির সংজ্ঞা দিন:

jQuery.validator.addMethod(
    "validate-custom", 
    function (v) {
        return jQuery.mage.isEmptyNoTrim(v) || /^[1-4]+$/.test(v);
     },
    'Please use digits only (1-4) in this field.'
);

এবং এটি আপনার ক্ষেত্রের জন্য এতে ব্যবহার করুন system.xml:

<validate>validate-number validate-zero-or-greater validate-custom</validate>

ম্যাজেন্টো 2 কোর কোডে "বৈধকারক.এডিডিমেথোড" অনুসন্ধান করুন, সেখানে আরও কয়েকটি জটিল ব্যবহারের ঘটনা দেখানো উদাহরণ রয়েছে।


আমি এইভাবে ব্যবহার করার চেষ্টা করছি তবে কাজ করছেন
চিরাগ প্যাটেল

9

যেমন @ ওয়াজটেক নারুনিয়েক লিখেছেন, আপনাকে একটি জাভাস্ক্রিপ্ট ফাইলটিতে আপনার নিজস্ব কাস্টম বৈধকরণ পদ্ধতি তৈরি করতে হবে এবং এটি system.xml ফাইলে আপনার মডিউল কনফিগারেশন ক্ষেত্রে ব্যবহার করতে হবে ।

আপনার ক্ষেত্রটি মনে করুন:

<field id="color" translate="label comment" type="text" sortOrder="3" showInDefault="1" showInWebsite="1" showInStore="1">
    <label>Color</label>
    <comment>Exadecimal value, without #: ex. FFFFFF</comment>
</field>

এবং আপনি ক্ষেত্রের দৈর্ঘ্য (ঠিক characters টি অক্ষর) পরীক্ষা করতে চান।

আপনার জাভাস্ক্রিপ্ট ফাইল তৈরি করুন,

vendorName / moduleName / দৃশ্য / adminhtml / ওয়েব / JS / validation.js

উদাহরণ স্বরূপ:

require([
    'jquery',
    'mage/translate',
    'jquery/validate'],
    function($){
        $.validator.addMethod(
            'validate-exadecimal-color-length', function (v) {
                return (v.length == 6);
            }, $.mage.__('Field must have length of 6'));
    }
);

তারপরে অ্যাডমিন কনফিগারেশন পৃষ্ঠায় জাভাস্ক্রিপ্ট ফাইল লোড করুন যাতে আপনাকে ফাইলটি তৈরি করতে হয়

vendorName / moduleName / দৃশ্য / adminhtml / লেআউট / adminhtml_system_config_edit.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <link src="vendorName_moduleName::js/validation.js"/>
    </head>
</page>

এখন আপনি আপনার যাচাইকারী যোগ ব্যবহার করতে পারেন <validate>মধ্যে ট্যাগটি <field>আপনার এর ট্যাগ system.xml ফাইল:

<field id="color" translate="label comment" type="text" sortOrder="3" showInDefault="1" showInWebsite="1" showInStore="1">
    <label>Color</label>
    <validate>validate-exadecimal-color-length</validate>
    <comment>Exadecimal value, without #: ex. FFFFFF</comment>
</field>

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