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


উত্তর:


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.