jQuery যাচাইকরণ - একটি গ্রুপে কমপক্ষে একটি ফিল্ড পূরণ করতে হবে


98

আমি কিছু ফর্মটি বৈধতা দেওয়ার জন্য চমৎকার jQuery বৈধতা প্লাগিন ব্যবহার করছি । একটি ফর্মের মধ্যে, আমাকে নিশ্চিত করতে হবে যে ব্যবহারকারী কমপক্ষে একটি ক্ষেত্রে ক্ষেত্রের একটির মধ্যে ফিল্ড করে। আমি মনে করি আমি একটি খুব ভাল সমাধান পেয়েছি, এবং এটি ভাগ করতে চেয়েছিলেন। আপনি যে কোনও উন্নতি ভাবতে পারেন তা দয়া করে পরামর্শ দিন।

এটি করার জন্য কোনও অন্তর্নিহিত উপায় খুঁজে না পেয়ে, আমি অনুসন্ধান করেছি এবং রেবেকা মারফির কাস্টম বৈধকরণ পদ্ধতিটি পেয়েছি , যা খুব সহায়ক ছিল।

আমি এটি তিনটি উপায়ে উন্নত করেছি:

  1. আপনাকে ক্ষেত্রগুলির গ্রুপের জন্য একটি নির্বাচক পাস করতে দিন
  2. বৈধতা পাস করার জন্য আপনাকে অবশ্যই সেই গোষ্ঠীর কতটি পূরণ করতে হবে তা নির্দিষ্ট করতে
  3. গ্রুপের সমস্ত ইনপুটগুলি বৈধতা পাস করার সাথে সাথে তাদের মধ্যে কোনও বৈধতা পাস করার জন্য দেখানো। ( নিক ক্র্যাভারের শেষে চেঁচামেচি দেখুন ))

সুতরাং আপনি বলতে পারেন "কমপক্ষে এক্স ইনপুটগুলি যা ম্যাচ নির্বাচক ওয়াইয়ের সাথে পূরণ করতে হবে" "

এর মতো মার্কআপ সহ শেষ ফলাফল:

<input class="productinfo" name="partnumber">
<input class="productinfo" name="description">

... এই জাতীয় নিয়মের একটি গ্রুপ:

// Both these inputs input will validate if 
// at least 1 input with class 'productinfo' is filled
partnumber: {
   require_from_group: [1,".productinfo"]
  }
description: {
   require_from_group: [1,".productinfo"]
}

আইটেম # 3 ধরে নেওয়া হয়েছে যে আপনি .checkedসফলতা যাচাইয়ের পরে আপনার ত্রুটি বার্তাগুলিতে একটি শ্রেণি যুক্ত করছেন । আপনি এখানে নিম্নলিখিত হিসাবে এটি নিম্নলিখিত হিসাবে এটি করতে পারেন ।

success: function(label) {  
        label.html(" ").addClass("checked"); 
}

উপরে লিঙ্কযুক্ত ডেমো হিসাবে, আমি প্রতিটি দিতে সিএসএস ব্যবহার করি span.error এক্স চিত্রকে ব্যাকগ্রাউন্ড হিসাবে , যদি না এটির ক্লাস না থাকে.checked চেক চিহ্নের চিত্র পায় gets

এখন পর্যন্ত আমার কোডটি এখানে:

jQuery.validator.addMethod("require_from_group", function(value, element, options) {
    var numberRequired = options[0];
    var selector = options[1];
    //Look for our selector within the parent form
    var validOrNot = $(selector, element.form).filter(function() {
         // Each field is kept if it has a value
         return $(this).val();
         // Set to true if there are enough, else to false
      }).length >= numberRequired;

    // The elegent part - this element needs to check the others that match the
    // selector, but we don't want to set off a feedback loop where each element
    // has to check each other element. It would be like:
    // Element 1: "I might be valid if you're valid. Are you?"
    // Element 2: "Let's see. I might be valid if YOU'RE valid. Are you?"
    // Element 1: "Let's see. I might be valid if YOU'RE valid. Are you?"
    // ...etc, until we get a "too much recursion" error.
    //
    // So instead we
    //  1) Flag all matching elements as 'currently being validated'
    //  using jQuery's .data()
    //  2) Re-run validation on each of them. Since the others are now
    //     flagged as being in the process, they will skip this section,
    //     and therefore won't turn around and validate everything else
    //  3) Once that's done, we remove the 'currently being validated' flag
    //     from all the elements
    if(!$(element).data('being_validated')) {
    var fields = $(selector, element.form);
    fields.data('being_validated', true);
    // .valid() means "validate using all applicable rules" (which 
    // includes this one)
    fields.valid();
    fields.data('being_validated', false);
    }
    return validOrNot;
    // {0} below is the 0th item in the options field
    }, jQuery.format("Please fill out at least {0} of these fields."));

হুররে!

চিৎকার কর

এখন আর্তচিৎকারের জন্য - মূলত, আমার কোডটি ত্রুটি বার্তাগুলি অন্ধভাবে অন্য ম্যাচের ক্ষেত্রগুলিতে পুনরায় যাচাইয়ের পরিবর্তে লুকিয়ে রেখেছে, যার অর্থ যদি অন্য কোনও সমস্যা হয় (যেমন 'কেবল সংখ্যাগুলি অনুমোদিত এবং আপনি চিঠিগুলি প্রবেশ করেছিলেন') , ব্যবহারকারী জমা দেওয়ার চেষ্টা না করা পর্যন্ত এটি লুকানো ছিল। এটি কারণ আমি উপরের মন্তব্যে উল্লিখিত প্রতিক্রিয়া লুপটি এড়াতে জানি না। আমি জানতাম একটি উপায় অবশ্যই আছে, তাই আমি একটি প্রশ্ন জিজ্ঞাসা করেছি এবং নিক ক্র্যাভার আমাকে আলোকিত করেছিলেন। ধন্যবাদ, নিক!

প্রশ্ন সমাধান

এটি মূলত একটি ছিল "আমাকে এটিকে ভাগ করে দিন এবং কেউ যদি উন্নতির পরামর্শ দিতে পারে কিনা" এই জাতীয় প্রশ্ন। আমি এখনও প্রতিক্রিয়া স্বাগত জানাতে চাই, আমি মনে করি এটি এই মুহুর্তে বেশ সম্পূর্ণ। (এটি সংক্ষিপ্ত হতে পারে, তবে আমি এটি পড়তে সহজ হওয়া এবং অগত্যা সংক্ষিপ্ত আকারে এটি চাই না)) সুতরাং কেবল উপভোগ করুন!

আপডেট - এখন jQuery বৈধকরণ অংশ

এটি 4/3/2012 তে আনুষ্ঠানিকভাবে jQuery বৈধকরণে যুক্ত হয়েছিল।


এছাড়াও, নিবিড়ভাবে সম্পর্কিত নিয়মটি দেখুন - "হয় এই ক্ষেত্রগুলি এড়িয়ে যান, বা তাদের মধ্যে কমপক্ষে এক্স পূরণ করুন" - স্ট্যাকওভারফ্লো
নাথান লং

কেন অন্য একটি ইনপুট পূরণ করা হয় তা পরীক্ষা করার জন্য কেন একটি সালিশী ইনপুট দায়বদ্ধ? এটা কোন মানে নেই। সম্ভবত আপনি জড়িত উপাদানগুলির সাথে কিছুটা মার্কআপ অন্তর্ভুক্ত করতে পারেন?
মনট্রিলিস্ট

@ ডালবায়েব - আমি উদাহরণটি কিছুটা পরিষ্কার করে দিয়েছি। এটি নয় যে একটি স্বেচ্ছাসেবক ইনপুট অন্যদের যাচাই করার জন্য দায়ী; এটি এমন যে কোনও গ্রুপের প্রতিটি ইনপুট অন্য সমস্তকে পরীক্ষা করার জন্য দায়বদ্ধ।
নাথান লং

এটাই আমি ভেবেছিলাম, অনেক অনেক ধন্যবাদ!
মনট্রিয়ালিস্ট

4
ধন্যবাদ, এটি আমার জন্য কাজ করে, তবে ফর্মের অন্যান্য প্রয়োজনীয় ক্ষেত্রগুলি এখন চেকের পরে ফোকাস অর্জন এবং হারাতে না পারলে আর প্রতিক্রিয়া জানায় না। (আপনার অন্য প্রশ্নের উত্তর হিসাবে কেউ এটিকে যুক্ত করেছেন, তবে এটি কোনও উত্তর নয় বলে এটি পতাকাঙ্কিত হতে হয়েছিল)।
mydoghasworms

উত্তর:


21

এটি একটি দুর্দান্ত সমাধান নাথান। অনেক ধন্যবাদ.

উপরের কোডটি কাজ করার একটি উপায় এখানে দেওয়া হয়েছে, যদি কেউ এর সংহত করতে সমস্যা হয় তবে যেমন আমি করেছি:

অতিরিক্ত-পদ্ধতি.জেএস ফাইলের অভ্যন্তরে কোড :

jQuery.validator.addMethod("require_from_group", function(value, element, options) {
...// Nathan's code without any changes
}, jQuery.format("Please fill out at least {0} of these fields."));

// "filone" is the class we will use for the input elements at this example
jQuery.validator.addClassRules("fillone", {
    require_from_group: [1,".fillone"]
});

এইচটিএমএল ফাইলের অভ্যন্তরে কোড :

<input id="field1" class="fillone" type="text" value="" name="field1" />
<input id="field2" class="fillone" type="text" value="" name="field2" />
<input id="field3" class="fillone" type="text" value="" name="field3" />
<input id="field4" class="fillone" type="text" value="" name="field4" />

অতিরিক্ত-পদ্ধতি.js ফাইল অন্তর্ভুক্ত করতে ভুলবেন না!


খুশি হলাম এটি আপনার পক্ষে সহায়ক এবং তথ্য চিপ দেওয়ার জন্য ধন্যবাদ। তবে অ্যাডক্লাসআরুলস পদ্ধতিটি না করে আমি প্রতিটি স্বতন্ত্র ফর্মের নিয়মের অ্যারে ব্যবহার করতে পছন্দ করি। আপনি যদি এই পৃষ্ঠাটিতে যান ( jquery.bassistance.de/ માન્યate / demo / milk ) এবং "এই পৃষ্ঠায় ব্যবহৃত স্ক্রিপ্ট দেখান" ক্লিক করুন তবে আপনি একটি উদাহরণ দেখতে পাবেন। আমি এটি আরও একধাপ এগিয়ে নিয়েছি: আমি "নিয়ম" নামক একটি অ্যারে ঘোষণা করি, তারপরে পৃথকভাবে, আমি তাদের সাথে ভেরিডিটার = $ ('# ফর্মটোএলডেট') ব্যবহার করি। বৈধতা (নিয়ম);
নাথান লং

আরেকটি চিন্তা: আপনি এখানে প্রদর্শিত 'ফিলোন' শ্রেণিটি সমস্যাযুক্ত হতে পারে। যদি একই ফর্মটিতে আপনার কমপক্ষে একটি অংশ নম্বর এবং কমপক্ষে একটি পরিচিতির নাম প্রয়োজন হয় তবে কী হবে? আপনার নিয়মে কমপক্ষে একটি অংশ নম্বর থাকা পর্যন্ত 0 টি পরিচিতির নাম অনুমতি দেবে। আমি মনে করি এর মতো নিয়ম ঠিক করা require_from_group: [1,".partnumber"]এবং ...[1,".contactname"]আপনি সঠিক জিনিসগুলিকে বৈধতা দিচ্ছেন তা নিশ্চিত করা ভাল।
নাথান লং

6

সুন্দর সমাধান। যাইহোক, আমার অন্যান্য প্রয়োজনীয় নিয়মগুলি কাজ না করার সমস্যা ছিল। ফর্মের বিপরীতে কার্যকর।) (আমার) এই সমস্যাটি স্থির করেছে।

if(!$(element).data('being_validated')) {
  var fields = $(selector, element.form);
  fields.data('being_validated', true); 
  $(element.form).valid();
  fields.data('being_validated', false);
}

4
থ্যাঙ্কস শান, আমারও এই সমস্যা ছিল। এই সমাধানটিতে একটি সমস্যা রয়েছে যদিও, যখন ব্যবহারকারী প্রথমবারের মতো ফর্মটিতে পৌঁছে যায় - যতক্ষণ না সে প্রথম প্রয়োজনীয় গ্রুপ থেকে প্রথম ক্ষেত্রটি পূরণ করে, অন্য সমস্ত ফর্ম ক্ষেত্রগুলি বৈধ হয়ে যাবে এবং এভাবে ত্রুটিযুক্ত হিসাবে চিহ্নিত করা হবে। আমি যেভাবে সমাধান করেছি তা হ'ল বৈধকরণকারীর উদাহরণ তৈরির আগে একটি ফর্ম.সুবমিট () হ্যান্ডলার যুক্ত করা, যাতে আমি একটি পতাকা সেট করি validator.formSubmit = true। গোষ্ঠী থেকে প্রয়োজনীয় পদ্ধতিতে আমি তখন সেই পতাকাটি পরীক্ষা করি; এটা যদি সেখানে আমি $(element.form).valid();, অন্যথায় আমি কি fields.valid();
ক্রিস্টোফ

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

আমি আরও তদন্ত করেছি এবং এটি গ্রুপের আগে ক্ষেত্র যা প্রোপ্রেলি বৈধতা দেয় না। : আমি (ক আংশিক কার্যসংক্রান্ত আমি discoivered সঙ্গে) একটি পৃথক প্রশ্ন হিসাবে এই জিজ্ঞাসা stackoverflow.com/questions/12690898/...
আদম

4

ধন্যবাদ শান কোডটি অন্যান্য নিয়ম উপেক্ষা করে আমার এই সমস্যাটি সমাধান করেছিল।

আমি কয়েকটি পরিবর্তনও করেছি যাতে 'দয়া করে কমপক্ষে 1 টি ফিল্ড পূরণ করুন ..' বার্তাটি সমস্ত ক্ষেত্রের পরিবর্তে পৃথক বিভাগে প্রদর্শন করে।

ফর্ম যাচাই স্ক্রিপ্ট রাখুন

showErrors: function(errorMap, errorList){
            $("#form_error").html("Please fill out at least 1 field before submitting.");
            this.defaultShowErrors();
        },

এটি পৃষ্ঠার কোথাও যুক্ত করুন

<div class="error" id="form_error"></div>

প্রয়োজনীয়_from_group পদ্ধতি addMethod ফাংশনে যুক্ত করুন

 if(validOrNot){
    $("#form_error").hide();
}else{
    $("#form_error").show();
}
......
}, jQuery.format(" &nbsp;(!)"));

4

আমি এমন একটি প্যাচ জমা দিয়েছি যা বর্তমান সংস্করণটি সমস্যাগুলি ভুগছে না (যার ফলে "প্রয়োজনীয়" বিকল্পটি অন্যান্য ক্ষেত্রগুলিতে সঠিকভাবে কাজ করা বন্ধ করে দেয়, বর্তমান সংস্করণটি নিয়ে সমস্যাগুলির একটি আলোচনা গিথুব নিয়ে রয়েছে

Http://jsfiddle.net/f887W/10/ এ উদাহরণ

jQuery.validator.addMethod("require_from_group", function (value, element, options) {
var validator = this;
var minRequired = options[0];
var selector = options[1];
var validOrNot = jQuery(selector, element.form).filter(function () {
    return validator.elementValue(this);
}).length >= minRequired;

// remove all events in namespace require_from_group
jQuery(selector, element.form).off('.require_from_group');

//add the required events to trigger revalidation if setting is enabled in the validator
if (this.settings.onkeyup) {
    jQuery(selector, element.form).on({
        'keyup.require_from_group': function (e) {
            jQuery(selector, element.form).valid();
        }
    });
}

if (this.settings.onfocusin) {
    jQuery(selector, element.form).on({
        'focusin.require_from_group': function (e) {
            jQuery(selector, element.form).valid();
        }
    });
}

if (this.settings.click) {
    jQuery(selector, element.form).on({
        'click.require_from_group': function (e) {
            jQuery(selector, element.form).valid();
        }
    });
}

if (this.settings.onfocusout) {
    jQuery(selector, element.form).on({
        'focusout.require_from_group': function (e) {
            jQuery(selector, element.form).valid();
        }
    });
}

return validOrNot;
}, jQuery.format("Please fill at least {0} of these fields."));

3

PH দিয়ে একটি চলক নাম শুরু করা পিএইচপি-তে প্রয়োজন, তবে জাভাস্ক্রিপ্টে বেশ অদ্ভুত (আইএমএইচও)। এছাড়াও, আমি বিশ্বাস করি আপনি এটি "$ মডিউল" হিসাবে দু'বার উল্লেখ করেছেন এবং "মডিউল" একবার, তাই না? দেখে মনে হচ্ছে এই কোডটি কাজ করা উচিত নয়।

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

সম্ভবত আপনি কোডটি স্ব-ডকুমেন্ট করার জন্য কয়েকটি ভার বের করতে পারেন; মত,

var atLeastOneFilled = module.find(...).length > 0;
if (atLeastOneFilled) {
  var stillMarkedWithErrors = module.find(...).next(...).not(...);
  stillMarkedWithErrors.text("").addClass(...)

(ধরে নিলাম আমি আপনার কোডের এই অংশগুলির অর্থ বুঝতে পেরেছি! :))

আমি "মডিউল" বলতে আসলে কী বোঝায় তা আসলে নিশ্চিত নই - আপনি এই ভেরিয়েবলটিকে আরও কিছু নির্দিষ্ট নাম দিতে পারেন?

দুর্দান্ত কোড, সামগ্রিকভাবে!


পরামর্শের জন্য ধন্যবাদ - আমি ভেরিয়েবলের নামগুলি স্পষ্ট করে দিয়েছি এবং কোডটি আরও বেশি পঠনযোগ্য বলে ভেঙেছি।
নাথান লং

3

রকেট হাজমতের উত্তরে আমার ক্র্যাক এখানে, অন্যান্য সংজ্ঞায়িত ক্ষেত্রগুলির সমস্যাটিও বৈধ হওয়া প্রয়োজন, তবে একটি ক্ষেত্রকে সফলভাবে পূরণের ক্ষেত্রে বৈধ হিসাবে চিহ্নিত করা প্রয়োজন।

jQuery.validator.addMethod("require_from_group", function(value, element, options){
    var numberRequired = options[0],
    selector = options[1],
    $fields = $(selector, element.form),
    validOrNot = $fields.filter(function() {
        return $(this).val();
    }).length >= numberRequired,
    validator = this;
    if(!$(element).data('being_validated')) {
        $fields.data('being_validated', true).each(function(){
            validator.valid(this);
        }).data('being_validated', false);
    }
    if (validOrNot) {
    $(selector).each(function() {
            $(this).removeClass('error');
            $('label.error[for='+$(this).attr('id')+']').remove();
        });
    }
    return validOrNot;
}, jQuery.format("Please fill out at least {0} of these fields."));

এটির সাথে কেবলমাত্র অবশিষ্ট সমস্যাটি প্রান্ত কেস যেখানে ক্ষেত্রটি খালি, তারপরে পূরণ করা হয়, তারপরে আবার খালি ... এক্ষেত্রে ত্রুটিটি একক ক্ষেত্রে প্রয়োগ করা হবে না গ্রুপটিকে। তবে এটি কোনও ফ্রিকোয়েন্সি সহ ঘটতে অসম্ভব বলে মনে হয় এবং এটি এখনও প্রযুক্তিগতভাবে সেই ক্ষেত্রে কাজ করে।


এই পদ্ধতির / নিয়মটি এপ্রিল ২০১২ সালে প্লাগইনে ফিরে যাওয়ার পরে এই উত্তরের কোনও অর্থ নেই
স্পার্কি

আমার কাছে একই সমস্যা রয়েছে যে পদ্ধতিটি এখন রকেট হাজতটির সাথে রয়েছে যা এখন বৈধকরণকারী সহ জাহাজে আসে। এটি বৈধতা দেয় যে একদল ক্ষেত্র, তবে অন্য পদ্ধতি ব্যবহার করে কোনও ক্ষেত্র বৈধ নয়। এই উত্তরটি এই সমস্যাটি সমাধান করার চেষ্টা। আপনার যদি আরও ভাল সমাধান থাকে তবে আমাকে জানান let
স্কয়ারকাণ্ডি

: না হওয়া পর্যন্ত ডেভেলপার স্থায়ীভাবে ইস্যু, বরং কোনো ধরনের বিভ্রান্তির জন্য অ্যাড সমাধান করা হয়েছে, আমি কেবল সুপারিশ যাই হোক না কেন সাময়িক সমাধান এখানে কটা হচ্ছে github.com/jzaefferer/jquery-validation/issues/412
স্পার্কি

2

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

var commonParent = $(element).parents(options[2]);

এবং এইভাবে কোনও নির্বাচক, আইডি বা উপাদানটির নামটি একবার পাস করা যায়:

jQuery.validator.addClassRules("reqgrp", {require_from_group: [1, ".reqgrp", 'fieldset']});

এবং বৈধকারক কেবল প্রতিটি ফিল্ডসেটের মধ্যে সেই শ্রেণীর সাথে উপাদানগুলির মধ্যে বৈধতা সীমাবদ্ধ করবে, ফর্মের সমস্ত .reqgrp সংঘবদ্ধ উপাদানগুলি গণনা করার চেষ্টা করার পরিবর্তে।


1

এটির সাথে মিল রেখে অন্য নিয়মগুলি পরীক্ষা না করাতে আমার সমস্যা ছিল, তাই আমি পরিবর্তন করেছি:

fields.valid();

এটি:

var validator = this;
fields.each(function(){
   validator.valid(this);
});

আমি কয়েকটি (ব্যক্তিগত) উন্নতিও করেছি, এবং এটি আমি ব্যবহার করছি এমন সংস্করণ:

jQuery.validator.addMethod("require_from_group", function(value, element, options){
    var numberRequired = options[0],
    selector = options[1],
    $fields = $(selector, element.form),
    validOrNot = $fields.filter(function() {
        return $(this).val();
    }).length >= numberRequired,
    validator = this;
    if(!$(element).data('being_validated')) {
        $fields.data('being_validated', true).each(function(){
            validator.valid(this);
        }).data('being_validated', false);
    }
    return validOrNot;
}, jQuery.format("Please fill out at least {0} of these fields."));

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

@ ক্রিস - আমার নতুন উত্তরটি দেখুন যা এটির উপর ভিত্তি করে এটি সম্বোধন করে।
স্কয়ারকাণ্ডি

0

ধন্যবাদ, নাথান আপনি আমাকে এক টন সময় বাঁচিয়েছেন।

তবে, আমি অবশ্যই লক্ষ্য করব যে এই নিয়মটি jQuery.noConflict () প্রস্তুত নয়। সুতরাং, কারও সাথে কাজ করতে, jQuery এর সাথে সমস্তকে প্রতিস্থাপন করতে হবে, বলুন,var $j = jQuery.noConflict()

এবং আমার প্রশ্ন আছে: আমি কীভাবে এটি বিল্ট-ইন রুলের মতো আচরণ করব? উদাহরণস্বরূপ, আমি যদি ইমেল প্রবেশ করি, "দয়া করে বৈধ ইমেল প্রবেশ করুন" বার্তাটি স্বয়ংক্রিয়ভাবে অদৃশ্য হয়ে যায় তবে আমি যদি গ্রুপের ক্ষেত্রগুলির একটি পূরণ করি ত্রুটি বার্তাটি স্থির থাকে।


আপনি ঠিক বলেছেন - আমি noconflict পরিস্থিতি বিবেচনা করি নি। ভবিষ্যতে আমি এটি আপডেট করতে পারি তবে আপনি যদি চান তবে খুব সহজেই একটি অনুসন্ধান-প্রতিস্থাপন করতে পারেন। আপনার দ্বিতীয় প্রশ্নের জন্য, আমি একই সমস্যা দেখছি না। দ্রুত পরীক্ষার মাধ্যমে, যদি কোনও গ্রুপের একটি ক্ষেত্রের প্রয়োজন হয়, আমি যে কোনও কিছু টাইপ করার সাথে সাথে পুরো গ্রুপটি সেই নিয়মটি পাস করে। যদি একাধিকের বেশি প্রয়োজন হয়, শেষের প্রয়োজনীয়টি পূরণ করার সাথে সাথে মনোযোগ হারাতে পুরো গোষ্ঠীটি পাস করে। তুমি কি তাই দেখছ?
নাথান লং

এইচএমএম কোনও কারণে মার্কআপ খারাপ হয়ে গেছে এবং এটি ঠিক করতে আমার কোনও সাফল্য হয়নি
রিনাত

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