2015-03-12 6 views
7

पर केंद्रित नहीं है मेरे पास एक तत्व है जो सशर्त रूप से प्रकट होता है जिसे दृश्यमान होने पर भरना आवश्यक होता है। (एनजी-आवश्यक का उपयोग करके)नाम = '' के साथ एक अमान्य फॉर्म नियंत्रण छुपा तत्व

हालांकि, जब वह दिखाई नहीं देता, मैं निम्न त्रुटि हो रही है:

An invalid form control with name='' is not focusable

मैं कैसे करूँ एनजी-आवश्यक काम करने के लिए ही करता है, तो यह तत्व दिखाई दे रहा है बाध्य करते हैं। मैं फॉर्म में novalidate दर्ज नहीं करना चाहता, क्योंकि यदि मैं करता हूं, जब तत्व दिखाई देता है, तो सत्यापन नहीं होता है।

+3

यदि आप एनजी-छिपाने का उपयोग कर रहे हैं, तो क्या आपने इसके बजाय ng-if का उपयोग करने पर विचार किया है (जो पूरी तरह से डोम से तत्व को हटा देता है)? – Joao

उत्तर

8
इस तरह

, ng-show और ng-required दोनों के लिए एक बूलियन का उपयोग कर:

<form> 
    <input type="text" ng-show="displayCondition" ng-required="displayCondition"/> 
</form> 

अच्छा सवाल - बहुत से लोगों को एहसास नहीं है कि ng-required में false गुजर निर्देश अक्षम करता है।

+2

ग्रेट उत्तर - एक आकर्षण की तरह काम किया। बहुत बहुत धन्यवाद। – KingKongFrog

+1

टिप्पणीकर्ता का उत्तर भी मान्य है, लेकिन इस पर निर्भर करता है कि क्या आप खाली होना चाहते हैं (मेरा समाधान) या अस्तित्वहीन नहीं है (उसके/0) –

+0

उस समय का महान उत्तर। –

2

मैंने एनजी-शो के बजाय एनजी-उपयोग करने के साथ इसे बहुत आसान हल किया! हम केवल एनजी-अगर। जब यह दिखाई नहीं देता है तो तत्व अब कोड में नहीं है। तो ब्राउज़र इसे मान्य नहीं करेगा।

संबंधित मुद्दे