টিএল; ডিআর: পুরানো ব্রাউজারগুলির যত্ন নেই? ব্যবহার form.reportValidity()
।
লিগ্যাসি ব্রাউজার সমর্থন প্রয়োজন? পড়তে.
এটি ম্যানুয়ালি বৈধতা ট্রিগার করা সম্ভব।
পুনঃব্যবহারযোগ্যতা উন্নত করতে আমি আমার উত্তরে সরল জাভাস্ক্রিপ্ট ব্যবহার করব, কোনও জিকুয়ের দরকার নেই।
নিম্নলিখিত HTML ফর্ম ধরুন:
<form>
<input required>
<button type="button">Trigger validation</button>
</form>
এবং আসুন জাভাস্ক্রিপ্টে আমাদের ইউআই উপাদানগুলি ধরুন:
var form = document.querySelector('form')
var triggerButton = document.querySelector('button')
ইন্টারনেট এক্সপ্লোরারের মতো লিগ্যাসি ব্রাউজারগুলির জন্য সমর্থনের দরকার নেই? এইটা তোমার জন্য.
সমস্ত আধুনিক ব্রাউজার উপাদানগুলিতে পদ্ধতিটিকে সমর্থন করে ।reportValidity()
form
triggerButton.onclick = function () {
form.reportValidity()
}
এটাই, আমরা শেষ করেছি। এছাড়াও, এই পদ্ধতির ব্যবহার করে এখানে একটি সাধারণ কোডপেন ।
পুরানো ব্রাউজারগুলির জন্য পন্থা
নীচে একটি reportValidity()
পুরানো ব্রাউজারগুলিতে কীভাবে অনুকরণ করা যায় তা বিশদ বিবরণ ।
তবে আপনার নিজের প্রকল্পে এই কোড ব্লকগুলি অনুলিপি করে আটকানোর দরকার নেই - আপনার জন্য পনিফিল / পলিফিল সহজেই উপলব্ধ।
যেখানে reportValidity()
সমর্থিত নয়, আমাদের ব্রাউজারটি একটু চালিত করতে হবে। তো, আমরা কী করব?
- কল করে ফর্মটির বৈধতা পরীক্ষা করুন
form.checkValidity()
। এটি আমাদের জানাবে যে ফর্মটি বৈধ কিনা তবে বৈধতা UI প্রদর্শন করে না।
- যদি ফর্মটি অবৈধ হয়, আমরা একটি অস্থায়ী জমা বোতামটি তৈরি করি এবং এটিতে একটি ক্লিক ট্রিগার করি। যেহেতু ফর্মটি বৈধ নয়, আমরা জানি এটি আসলে জমা দেবে না , তবে এটি ব্যবহারকারীর কাছে বৈধতার ইঙ্গিত দেখাবে। আমরা তাত্ক্ষণিকভাবে অস্থায়ী জমা বোতামটি সরিয়ে ফেলব, তাই এটি কখনই ব্যবহারকারীর কাছে দৃশ্যমান হবে না।
- যদি ফর্মটি বৈধ হয় তবে আমাদের মোটেও হস্তক্ষেপ করার প্রয়োজন নেই এবং ব্যবহারকারীকে এগিয়ে যেতে দেওয়া উচিত।
কোডে:
triggerButton.onclick = function () {
if (!form.checkValidity()) {
var tmpSubmit = document.createElement('button')
form.appendChild(tmpSubmit)
tmpSubmit.click()
form.removeChild(tmpSubmit)
} else {
}
}
এই কোডটি বেশ কয়েকটি সাধারণ ব্রাউজারে কাজ করবে (আমি এটি সফলভাবে IE11 এ পরীক্ষা করেছি)।
এখানে একটি কার্যকরী কোডপেন উদাহরণ।