Tôi đang làm việc trên biểu mẫu động bằng angular.js. Trường nhập liệuĐặt thuộc tính bắt buộc cho một yếu tố đầu vào nếu nó không bị ẩn
<div ng-show="condition()">
<input type="text" name="field" required>
</div>
Nếu điều kiện() trả về false, trường nhập sẽ không được hiển thị. Nhưng bằng cách nhấp vào nút gửi, tôi sẽ nhận được trên chrome, thông điệp:
An invalid form control with name='field' is not focusable.
Vâng, một giải pháp là, sử dụng ng-yêu cầu:
<div ng-show="condition()">
<input type="text" name="field" ng-required="condition()">
</div>
Vâng, ở đây tôi có để lặp lại mã, sử dụng điều kiện() nhiều lần.
Nó trở thành xấu, khi bạn có thể gói gọn ng-show của:
<div ng-show="condition1()">
<div ng-show="condition2()">
<input type="text" name="field"
ng-required="condition1() && condition2()">
</div>
</div>
Có cách nào tốt hơn, thẻ bắt buộc phải có mặt ở đó khi đầu vào là có thể nhìn thấy, và không, nếu nó ẩn.
sử dụng ng-nếu thay vì ng-show, đó là giải pháp. xem ở trên – Artisan72
@ Artisan72 bạn đã kiểm tra thời gian .. khi tôi thêm câu trả lời..chính xác 3 phút sớm hơn bạn –