Apa perbedaan antara requireddan ng-required(validasi formulir)?
Apa perbedaan antara requireddan ng-required(validasi formulir)?
Jawaban:
Elemen formulir AngularJS mencari requiredatribut untuk melakukan fungsi validasi. ng-requiredmemungkinkan Anda untuk menetapkan requiredatribut tergantung pada tes boolean (misalnya, hanya memerlukan bidang B - katakanlah, nomor siswa - jika bidang A memiliki nilai tertentu - jika Anda memilih "siswa" sebagai pilihan )
Sebagai contoh, <input required>dan <input ng-required="true">pada dasarnya hal yang sama
Jika Anda bertanya-tanya mengapa demikian, (dan bukan hanya membuat <input required="true">atau <input required="false">), hal ini disebabkan oleh keterbatasan HTML - requiredatribut tidak memiliki nilai yang terkait - kehadirannya hanya berarti (sesuai standar HTML) sehingga elemen tersebut diperlukan - jadi angular membutuhkan cara untuk mengatur / membatalkan nilai yang diperlukan ( required="false"akan menjadi HTML yang tidak valid)
<form method="post" action="/foo" novalidate>. Sekali lagi, ini adalah atribut html5, tidak terkait dengan angularJS.
ng-requiredmenunjuk ke variabel lingkup / pengontrol, Angular memantaunya untuk perubahan dan mengatur atribut yang diperlukan. Sedangkan dalam hal requiredatribut HTML sederhana Anda tidak memiliki fleksibilitas semacam itu. Tidak? Dan sementara kita berada di topik yang sama, bagaimana ng-attr-required? Apakah persis sama dengan ng-required?
Saya ingin membuat addon untuk jawaban tiago :
Misalkan Anda menyembunyikan elemen menggunakan ng-showdan menambahkan requiredatribut yang sama:
<div ng-show="false">
<input required name="something" ng-model="name"/>
</div>
akan melempar kesalahan seperti:
Kontrol formulir yang tidak valid dengan nama = '' tidak dapat fokus
Ini karena Anda tidak dapat memaksakan requiredvalidasi pada hiddenelemen. Menggunakan ng-requiredmembuatnya lebih mudah untuk menerapkan validasi yang diperlukan secara kondisional yang luar biasa !!
ng-ifalih-alih ng-show/ ng-hideuntuk menghindari masalah potensial itu.
The atribut HTML required="required" adalah pernyataan memberitahu browser bidang ini diperlukan agar bentuk yang akan berlaku. ( required="required"adalah bentuk XHTML, hanya menggunakan requiredyang setara)
The sudut atribut ng-required="yourCondition" berarti 'isRequired (yourCondition)' dan set atribut HTML dinamis untuk Anda tergantung pada kondisi Anda.
Perhatikan juga bahwa versi HTML membingungkan , tidak mungkin untuk menulis sesuatu yang kondisional seperti required="true"atau required="false", hanya kehadiran atribut yang penting (present berarti true)! Di sinilah Angular membantu Anda ng-required.