Apa perbedaan antara required
dan ng-required
(validasi formulir)?
Elemen formulir AngularJS mencari required
atribut untuk melakukan fungsi validasi. ng-required
memungkinkan Anda untuk menetapkan required
atribut 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 - required
atribut 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-required
menunjuk ke variabel lingkup / pengontrol, Angular memantaunya untuk perubahan dan mengatur atribut yang diperlukan. Sedangkan dalam halrequired
atribut HTML sederhana Anda tidak memiliki fleksibilitas semacam itu. Tidak? Dan sementara kita berada di topik yang sama, bagaimanang-attr-required
? Apakah persis sama denganng-required
?Saya ingin membuat addon untuk jawaban tiago :
Misalkan Anda menyembunyikan elemen menggunakan
ng-show
dan menambahkanrequired
atribut yang sama:akan melempar kesalahan seperti:
Ini karena Anda tidak dapat memaksakan
required
validasi padahidden
elemen. Menggunakanng-required
membuatnya lebih mudah untuk menerapkan validasi yang diperlukan secara kondisional yang luar biasa !!sumber
ng-if
alih-alihng-show
/ng-hide
untuk 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 menggunakanrequired
yang 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"
ataurequired="false"
, hanya kehadiran atribut yang penting (present berarti true)! Di sinilah Angular membantu Andang-required
.sumber