पैटर्न और रेगेक्स का उपयोग करने वाले उत्तर उपयोगकर्ता के पासवर्ड को सादे पाठ के रूप में इनपुट गुणों में लिखते हैं pattern='mypassword'
। यह केवल तभी दिखाई देगा जब डेवलपर टूल खुले होंगे, लेकिन यह अभी भी एक अच्छा विचार नहीं है।
एक मैच के लिए पैटर्न का उपयोग करने के साथ एक और मुद्दा यह है कि आप यह जांचने के लिए पैटर्न का उपयोग करना चाहते हैं कि पासवर्ड सही फॉर्म का है, जैसे मिश्रित अक्षर और संख्या।
मुझे भी लगता है कि अगर उपयोगकर्ता इनपुट के बीच स्विच करते हैं तो ये विधियां अच्छी तरह से काम नहीं करेंगी।
यहां मेरा समाधान है जो थोड़ी अधिक जावास्क्रिप्ट का उपयोग करता है, लेकिन जब इनपुट अपडेट किया जाता है तो एक साधारण समानता जांच करता है और फिर एक कस्टम HTML वैधता सेट करता है। दोनों इनपुट अभी भी एक पैटर्न जैसे ईमेल प्रारूप या पासवर्ड जटिलता के लिए परीक्षण किए जा सकते हैं।
एक वास्तविक पृष्ठ के लिए आप इनपुट प्रकारों को 'पासवर्ड' में बदल देंगे।
<form>
<input type="text" id="password1" oninput="setPasswordConfirmValidity();">
<input type="text" id="password2" oninput="setPasswordConfirmValidity();">
</form>
<script>
function setPasswordConfirmValidity(str) {
const password1 = document.getElementById('password1');
const password2 = document.getElementById('password2');
if (password1.value === password2.value) {
password2.setCustomValidity('');
} else {
password2.setCustomValidity('Passwords must match');
}
console.log('password2 customError ', document.getElementById('password2').validity.customError);
console.log('password2 validationMessage ', document.getElementById('password2').validationMessage);
}
</script>