Sự khác biệt giữa required
và ng-required
(xác nhận mẫu) là gì?
Sự khác biệt giữa required
và ng-required
(xác nhận mẫu) là gì?
Câu trả lời:
Các phần tử biểu mẫu AngularJS tìm kiếm required
thuộc tính để thực hiện các chức năng xác nhận. ng-required
cho phép bạn đặt required
thuộc tính tùy thuộc vào bài kiểm tra boolean (ví dụ: chỉ yêu cầu trường B - giả sử, số sinh viên - nếu trường A có giá trị nhất định - nếu bạn chọn "sinh viên" làm lựa chọn )
Ví dụ, <input required>
và <input ng-required="true">
về cơ bản là giống nhau
Nếu bạn đang tự hỏi tại sao lại theo cách này, (và không chỉ tạo ra <input required="true">
hoặc <input required="false">
), thì đó là do các hạn chế của HTML - required
thuộc tính không có giá trị liên quan - sự hiện diện đơn thuần của nó (theo tiêu chuẩn HTML) mà yếu tố được yêu cầu - vì vậy góc cần một cách để đặt / bỏ đặt giá trị bắt buộc ( required="false"
sẽ là HTML không hợp lệ)
<form method="post" action="/foo" novalidate>
. Một lần nữa, đây là thuộc tính html5, không liên quan đến angularJS.
ng-required
trỏ đến một biến phạm vi / bộ điều khiển, Angular sẽ theo dõi nó để thay đổi và đặt thuộc tính bắt buộc cho phù hợp. Mặc dù trong trường hợp required
thuộc tính HTML đơn giản, bạn không có loại linh hoạt đó. Không? Và trong khi chúng ta cùng chủ đề, thì ng-attr-required
sao? Có chính xác như ng-required
vậy không?
Tôi muốn tạo một addon cho câu trả lời của tiago :
Giả sử bạn đang ẩn phần tử bằng cách sử dụng ng-show
và thêm một required
thuộc tính trên cùng:
<div ng-show="false">
<input required name="something" ng-model="name"/>
</div>
sẽ đưa ra một lỗi như:
Điều khiển biểu mẫu không hợp lệ với name = '' không thể tập trung
Điều này là do bạn không thể áp đặt required
xác nhận cho hidden
các yếu tố. Việc sử dụng ng-required
làm cho nó dễ dàng hơn để áp dụng có điều kiện xác nhận yêu cầu, điều này thật tuyệt vời !!
ng-if
thay vì ng-show
/ ng-hide
để vượt qua vấn đề tiềm năng đó.
Các thuộc tính HTML required="required"
là một tuyên bố cho trình duyệt biết lĩnh vực này là cần thiết để cho các hình thức có giá trị. ( required="required"
là biểu mẫu XHTML, chỉ cần sử dụng required
là tương đương)
Các thuộc tính góc ng-required="yourCondition"
'isRequired (yourCondition)' phương tiện và thiết lập các thuộc tính HTML động cho bạn tùy thuộc vào tình trạng của bạn.
Cũng lưu ý rằng phiên bản HTML khó hiểu , không thể viết một cái gì đó có điều kiện như required="true"
hoặc required="false"
, chỉ có sự hiện diện của các vấn đề thuộc tính (hiện tại có nghĩa là đúng)! Đây là nơi Angular giúp bạn ra ngoài ng-required
.