আমি কীভাবে এইচটিএমএল 5 ফর্ম বৈধতা ডিফল্ট ত্রুটি বার্তাগুলি পরিবর্তন বা মুছে ফেলতে পারি?


142

যেমন আমি একটি textfield। ক্ষেত্রটি বাধ্যতামূলক, কেবলমাত্র সংখ্যা প্রয়োজন এবং মানের দৈর্ঘ্য 10 হতে হবে I আমি যখন দৈর্ঘ্য 5 এর মান সহ ফর্মটি জমা দেওয়ার চেষ্টা করি, তখন ডিফল্ট ত্রুটি বার্তা উপস্থিত হয়:Please match the requested format

<input type="text" required="" pattern="[0-9]{10}" value="">
  1. আমি কীভাবে এইচটিএমএল 5 ফর্ম বৈধতা ত্রুটিগুলি ডিফল্ট বার্তাগুলি পরিবর্তন করতে পারি?
  2. যদি প্রথম পয়েন্টটি করা যায়, তবে কিছু সম্পত্তি ফাইল তৈরি করার এবং সেই ফাইলগুলিতে কাস্টম ত্রুটি বার্তা সেট করার কোনও উপায় আছে কি?

1
আমি মাহুর ১৩ টি উত্তর সম্পর্কে একটি ত্রুটি পেয়েছি, এটি লুপে কাজ করছে না তাই এটি ঠিক করেছি এবং কিছু সংশোধন করে উত্তর দেব, যা আপনি উত্তর বিভাগের অধীনে খুঁজে পেতে পারেন। এখানে লিঙ্ক stackoverflow.com/questions/10361460/...
দর্শন Gorasia

উত্তর:


213

অঙ্কুর উত্তরে আমি একটি বাগ খুঁজে পেয়েছি এবং আমি এই সংশোধন করে এটি ঠিক করেছি:

 <input type="text" pattern="[a-zA-Z]+"
    oninvalid="setCustomValidity('Plz enter on Alphabets ')"
    onchange="try{setCustomValidity('')}catch(e){}" />

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


18
আমি ইনলাইন ইভেন্টগুলি ব্যবহার করার বিরুদ্ধে পরামর্শ দিই। এটি একটি ভাল অনুশীলন না।
জার্ডে

2
@ মাহুর 13 আমি এটি এর অনুরূপ লিখেছি তবে এটি কখনই বৈধ হয় না। আপনি কি একটি ইঙ্গিত গিম করতে পারেন? jsfiddle.net/2USxy
Sliq

1
এখানে একটি কাস্টম ফায়ারফক্স সম্পত্তি যুক্ত করা যেতে পারে যা ভালভাবে কাজ করে: x-moz-errormessage = "দয়া করে কেবল সংখ্যা লিখুন"
কলিফ

4
ইনপুটটি বৈধ আছে কি না তা কার্যকরভাবে দেখতে "ওঙ্কচে" এর পরিবর্তে "অনকিআপ" ব্যবহার করা আরও ভাল।
জাম ভিলে

4
এটিতে নিম্নোক্ত সমস্যাটি রয়েছে (কমপক্ষে ক্রোম 55 এ): যখন অবৈধ বার্তাটি পপ হয়, ব্যবহারকারী যদি অবৈধ ক্ষেত্রে (ক্লিক না করে) ফোকাস রাখে এবং ক্ষেত্রটি সম্পাদনা করে তবে বার্তাটি পপআপ করে রাখে - এমনকি ক্ষেত্রটি বৈধ হলেও - এটি হয় ফোকাস আউট বা ট্রিগার জমা প্রয়োজন।
21:40

96

প্যাটার্ন ব্যবহার করার সময় = এটি শিরোনাম বৈশিষ্ট্যে যা কিছু প্রদর্শিত হবে তা প্রদর্শিত হবে, সুতরাং কোনও জেএস প্রয়োজন নেই:

<input type="text" required="" pattern="[0-9]{10}" value="" title="This is an error message" />

9
খুব সুন্দর উত্তর। সমস্ত জিনিস যেমন HTML5 এর মতো, নির্ভরযোগ্যতা ব্রাউজারের উপর নির্ভর করে। এই সমাধানটি এফএফ 15 এবং ক্রোম 22 দিয়ে দুর্দান্ত কাজ করেছে, তবে সাফারি 5 এর সাথে নয় (
OSX

1
উত্তম উত্তর, তবে এখানে পশ্চাদপদ (বা এমনকি বর্তমান) সামঞ্জস্যতা সম্পর্কে সতর্ক থাকুন।
বোহনি

7
আমি যখন "foo" এ একটি শিরোনাম সেট করি আমি "অনুরোধ করা ফর্ম্যাটটি মেলে দয়া করে। Foo" পাই, সুতরাং এটি আমার পক্ষে কার্যকর হবে না
দান

7
শিরোনামটি মাউস হোভারের টুলটিপ পাঠ্য হিসাবেও ব্যবহৃত হয়, তাই আমি এই পদ্ধতির থেকে দূরে থাকব।
fotijr

2
শিরোনামটি মাউস হোভারের টুলটিপ পাঠ্য হিসাবেও ব্যবহৃত হয়, তাই এটি সম্ভবত সেরা পন্থা।
ওড্রাএইনকোডটি

35
<input type="text" pattern="[a-zA-Z]+"
oninvalid="setCustomValidity('Plz enter on Alphabets ')" />

আমি এই পোস্টটি অন্য পোস্টে পেয়েছি।


ধন্যবাদ, এটা আমার জন্য কাজ করেছে। যদিও আমি পোস্ট বা ব্লগ বা সাইট এটি উল্লেখ করে খুঁজে পাই নি।
ব্যবহারকারী 219628

1
নিম্নলিখিত পোস্টে নোট নিন যখন setCustomValitidy ব্যবহার বিবেচনা করা stackoverflow.com/questions/16867407/...
Konstantinos Chertouras

15

এইচটিএমএল:

<input type="text" pattern="[0-9]{10}" oninvalid="InvalidMsg(this);" name="email" oninput="InvalidMsg(this);"  />

জাভাস্ক্রিপ্ট:

function InvalidMsg(textbox) {

     if(textbox.validity.patternMismatch){
        textbox.setCustomValidity('please enter 10 numeric value.');
    }    
    else {
        textbox.setCustomValidity('');
    }
    return true;
}

Fiddle Demo


14

ব্রাউজারের বৈধতা বার্তাটি আপনার নথিতে jQuery সহ প্রদর্শিত হতে বাধা দিতে:

$('input, select, textarea').on("invalid", function(e) {
    e.preventDefault();
});

13

আপনি নিম্নলিখিতটি করে এই সতর্কতাটি সরাতে পারেন:

<input type="text" pattern="[a-zA-Z]+"
    oninvalid="setCustomValidity(' ')"
/>

কাস্টম বার্তাটি কেবল একটি ফাঁকা জায়গায় সেট করুন


11

সীমাবদ্ধতা যাচাইকরণ API এর মাধ্যমে আপনি এগুলি পরিবর্তন করতে পারেন: http://www.w3.org/TR/html5/constraints.html#dom-cva-setcustomvalidity

আপনি যদি একটি সহজ সমাধান চান, আপনি civem.js, কাস্টম ইনপুট বৈধতা ত্রুটি বার্তা জাভাস্ক্রিপ্ট বিনামূল্যে ডাউনলোড করতে পারেন এখানে: https://github.com/javanto/civem.js লাইভ ডেমো এখানে: http://jsfiddle.net/ hleinone / njSbH /


5

সেট কাস্টমভিডালিটি আপনাকে ডিফল্ট বৈধতা বার্তাটি পরিবর্তন করতে দেয় H এখানে এটি কীভাবে ব্যবহার করতে হয় তার একটি সহজ এক্সপ্লোর।

var age  =  document.getElementById('age');
    age.form.onsubmit = function () {
    age.setCustomValidity("This is not a valid age.");
 };

3

আমি দুর্ঘটনাক্রমে এখন একটি উপায় পেয়েছি: আপনার এটি ব্যবহার করতে হবে: ডেটা-ত্রুটি: ""

<input type="username" class="form-control" name="username" value=""
placeholder="the least 4 character"
data-minlength="4" data-minlength-error="the least 4 character"
data-error="This is a custom Errot Text fot patern and fill blank"
max-length="15" pattern="[A-Za-z0-9]{4,}"
title="4~15 character" required/>

3

আমি মাহুর ১৩ এর উত্তরে একটি ত্রুটি পেয়েছি, এটি লুপে কাজ করছে না তাই আমি এটিকে সংশোধন করে স্থির করেছি:

এইচটিএমএল:

<input type="email" id="eid" name="email_field" oninput="check(this)">

javascript:

function check(input) {  
    if(input.validity.typeMismatch){  
        input.setCustomValidity("Dude '" + input.value + "' is not a valid email. Enter something nice!!");  
    }  
    else {  
        input.setCustomValidity("");  
    }                 
}  

এটি পুরোপুরি লুপে চলবে।



2

আপনি এখানে দেখতে পারেন:

এইচটিএমএল 5 অন ইনফল ইনপুট ক্ষেত্র স্থির করার পরে কাজ করে না

আপনার পক্ষে সেইভাবে রাখা ভাল, কারণ আপনি যখন ত্রুটিটি ঠিক করেন তখন সতর্কতা বার্তাটি অদৃশ্য হয়ে যায়।

<input type="text" pattern="[a-zA-Z]+"
oninvalid="this.setCustomValidity(this.willValidate?'':'your custom message')" />

2

এইচটিএমএল 5 বৈধতা ব্যবহারের জন্য কাস্টম ত্রুটি বার্তা সেট করতে,

oninvalid="this.setCustomValidity('Your custom message goes here.')"

এবং ব্যবহারকারী যখন বৈধ ডেটা ব্যবহারে প্রবেশ করে তখন এই বার্তাটি সরাতে,

onkeyup="setCustomValidity('')"

আশা করি এটি আপনার পক্ষে কাজ করে। উপভোগ করুন;)



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