টিএল; ডিআর: পুরানো ব্রাউজারগুলির যত্ন নেই? ব্যবহার 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 এ পরীক্ষা করেছি)।
এখানে একটি কার্যকরী কোডপেন উদাহরণ।