Sự khác biệt giữa requiredvà ng-required(xác nhận mẫu) là gì?
Sự khác biệt giữa requiredvà 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 requiredthuộc tính để thực hiện các chức năng xác nhận. ng-requiredcho phép bạn đặt requiredthuộ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 - requiredthuộ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-requiredtrỏ đế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 requiredthuộ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-requiredsao? Có chính xác như ng-requiredvậ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-showvà thêm một requiredthuộ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 requiredxác nhận cho hiddencác yếu tố. Việc sử dụng ng-requiredlà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-ifthay 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 requiredlà 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.