প্রয়োজনীয় এবং এনজিও-প্রয়োজনীয় মধ্যে পার্থক্য কী?


উত্তর:


420

AngularJS ফর্ম উপাদানগুলি requiredবৈধতা কার্যকারিতা সম্পাদনের জন্য বৈশিষ্ট্যের সন্ধান করে। ng-requiredআপনাকে requiredবুলিয়ান পরীক্ষার উপর নির্ভর করে অ্যাট্রিবিউট সেট করতে দেয় (উদাহরণস্বরূপ, শুধুমাত্র ক্ষেত্রের বি প্রয়োজন - বলুন, একটি ছাত্র সংখ্যা - যদি ক্ষেত্রের একটি নির্দিষ্ট মান থাকে - যদি আপনি "ছাত্র" পছন্দ হিসাবে বেছে নেন )

উদাহরণ হিসাবে <input required>এবং <input ng-required="true">মূলত একই জিনিস

আপনি যদি ভাবছেন যে এই উপায়টি কেন , (এবং কেবল তৈরি <input required="true">বা নয় <input required="false">) তবে এটি এইচটিএমএলের সীমাবদ্ধতার কারণে - requiredগুণটির কোনও সম্পর্কিত কোনও মূল্য নেই - এর নিছক উপস্থিতির অর্থ (এইচটিএমএল মান অনুযায়ী) যে উপাদানটি প্রয়োজনীয় - সুতরাং কৌণিকের প্রয়োজনীয় মান সেট / আনসেট করার কোনও উপায় প্রয়োজন ( required="false"অবৈধ এইচটিএমএল হবে)


আমি কীভাবে যথাক্রমে এনজি-প্রয়োজনীয় অপসারণ করতে পারি? কারণ আমি কোনও সাফল্য ছাড়াই কিছু jquery পদ্ধতি চেষ্টা করেছি
— themhz

28
আমি নিশ্চিত যে আমি প্রশ্নটি বুঝতে পেরেছি না .. বাস্তবে আপনি কখনই এনজি-প্রয়োজনীয় = "সত্য" ব্যবহার করেন না, বরং এনজি-প্রয়োজনীয় = "স্কোপডভ্যারিয়েবল" বা এনজি-প্রয়োজনীয় = "স্কোপট্রুটটেষ্ট ()" এবং এর মানটি ব্যবহার করেন ভেরিয়েবল / ফাংশন নির্ধারণ করে যে উপাদানটির প্রয়োজন হয় কিনা। কৌণিক অ্যাপ্লিকেশনগুলিতে এই জিনিসগুলির সাথে জগাখিচির জন্য কখনও jquery ব্যবহার করবেন না বা আপনার অনাকাঙ্ক্ষিত ফলাফল হবে!
— টিয়াগো রোলডো

এটি উল্লেখ করার মতো বিষয় যে এনজি-প্রয়োজনীয় একটি ডিফল্ট টুলটিপ শৈলীর ত্রুটি বার্তা প্রদর্শন করে যা এই ক্ষেত্রটি প্রয়োজনীয় saying যা সর্বদা পছন্দসই নয়। আমি এটি বন্ধ করার জন্য একটি উপায় খুঁজছি
— অ্যাডাম স্পেন্স

2
এটা আসলে হয় না। নিশ্চিত নয়, তবে আমি মনে করি আপনি যা উল্লেখ করছেন তা হ'ল এইচটিএমএল 5 যাচাইকরণ, যা বেশিরভাগ আধুনিক ব্রাউজারগুলি স্বয়ংক্রিয়ভাবে প্রবর্তিত হয়। আপনি অ্যাট্রিবিউট novalidate যোগ করতে পারেন আপনি (অক্ষম করার কি ব্রাউজার আছে) এই নিয়ন্ত্রণ নিতে চাইলে: <form method="post" action="/foo" novalidate>। আবার এটি একটি এইচটিএমএল 5 বৈশিষ্ট্য, কৌণিক জেএস সম্পর্কিত নয়।
— টিয়াগো রোলডো

আমি প্রত্যাশা করতাম যে যখন ng-requiredস্কোপ / কন্ট্রোলার ভেরিয়েবলের দিকে ইঙ্গিত করে, কৌণিক পরিবর্তনগুলির জন্য এটি পর্যবেক্ষণ করে এবং ততক্ষণে প্রয়োজনীয় বৈশিষ্ট্য নির্ধারণ করে। সাধারণ এইচটিএমএল requiredঅ্যাট্রিবিউটের ক্ষেত্রে আপনার কাছে এ জাতীয় নমনীয়তা নেই। কোন? এবং যখন আমরা একই বিষয়, তখন কি ng-attr-required? এটা কি ঠিক একইরকম ng-required?
— AsGoodAsItGET 15

78

আমি টিয়াগোয়ের উত্তরের জন্য একটি সংযোজন করতে চাই :

মনে করুন আপনি উপাদানটি লুকিয়ে রাখছেন ng-showএবং requiredএকই সাথে কোনও গুণাবলী যুক্ত করছেন :

<div ng-show="false">
    <input required name="something" ng-model="name"/>
</div>

ত্রুটি এমন কিছু ফেলে দেবে:

নাম = '' সহ একটি অবৈধ ফর্ম নিয়ন্ত্রণ মনোনিবেশযোগ্য নয়

এর কারণ আপনি উপাদানগুলির উপর requiredবৈধতা আরোপ করতে পারবেন না hidden। ব্যবহারের ng-requiredফলে শর্তসাপেক্ষে প্রয়োজনীয় বৈধতা প্রয়োগ করা সহজ হয় যা কেবল দুর্দান্ত !!


13
অবশ্যই একটি ভাল টিপ, এবং আপনি / সম্ভাব্য ইস্যুটি পার্শ্ববর্তী করার ng-ifপরিবর্তে ng-show/ ব্যবহার করতে পারেন ng-hide।
— jkjustjoshing

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। যদি আপনার কাছে লুকানো উপাদান থাকে (এনজি-শো = "মিথ্যা"), এই উত্তরে বর্ণিত হিসাবে এনজি-প্রয়োজনীয় = "সত্য" এবং ঠিক 'প্রয়োজনীয়' এর মধ্যে পার্থক্য রয়েছে এবং আমরা এই তফাতটির কারণে গরম জলে .ুকেছি।
— ইভান ক্রিভিয়াভভ

17

এইচটিএমএল অ্যাট্রিবিউট required="required" এক বিবৃতিতে ব্রাউজার যা এই ক্ষেত্রে বৈধ বলে ফর্মের জন্য অনুক্রমে প্রয়োজন বোধ করা হয় কহন হয়। ( required="required"এটি এক্সএইচটিএমএল ফর্ম, কেবল ব্যবহার requiredসমান)

কৌণিক অ্যাট্রিবিউট ng-required="yourCondition" মানে 'isRequired (yourCondition)' এবং HTML অ্যাট্রিবিউট সেট করে পরিবর্তনশীল আপনি আপনার অবস্থার উপর নির্ভর করে না।

এছাড়াও নোট করুন যে এইচটিএমএল সংস্করণ বিভ্রান্তিকর , শর্তসাপেক্ষ মতো কিছু লেখা সম্ভব নয়required="true" বা required="false"কেবলমাত্র বৈশিষ্ট্যগুলির উপস্থিতি (উপস্থিত অর্থ সত্য)! এখান থেকেই কৌণিক সাহায্য করে ng-required।


হ্যাঁ দুঃখজনকভাবে ব্রাউজারটি সত্য / মিথ্যা রাখতে দেয় না, সম্ভবত এটি খুব প্রযুক্তিগত বলে মনে করা হয় ...
— ক্রিস্টোফ রাউসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.