Sử dụng plugin TokenInput và sử dụng xác thực formController tích hợp sẵn trong AngularJS.
Ngay bây giờ, tôi đang cố gắng kiểm tra xem trường có chứa văn bản hay không và sau đó đặt trường thành hợp lệ nếu có. Vấn đề với việc sử dụng plugin là nó tạo ra đầu vào của riêng nó và sau đó là ul + li để đọc.
Tôi có quyền truy cập vào addItem (tên biểu mẫu) và tài khoản của tôi trong bộ điều khiển, tôi chỉ cần đặt nó thành $ hợp lệ.
Đánh dấu.
<form class="form-horizontal add-inventory-item" name="addItem">
<input id="capabilities" name="capabilities" token-input data-ng-model="inventoryCapabilitiesAutoComplete" data-on-add="addCapability()" data-on-delete="removeCapability()" required>
<div class="required" data-ng-show="addItem.capabilities.$error.required" title="Please enter capability."></div>
</form>
JS.
$scope.capabilityValidation = function (capability) {
if (capability.name !== "") {
addItem.capabilities.$valid = true;
addItem.capabilities.$error.required = false;
} else {
addItem.capabilities.$valid = false;
addItem.capabilities.$error.required = true;
}
};
Tôi đang chạy chức năng abilityValidation khi TokenInput có nội dung nào đó được nhập và truyền vào đối tượng.
BIÊN TẬP:
Tìm thấy ng-model trên đầu vào của tôi thực hiện công việc và nhận được kết quả tự động hoàn thành, đó là lý do tại sao tôi không thể làm cho ng-valid hoạt động vì nó dựa trên mô hình.
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
Tôi đã không viết phần triển khai tự động hoàn thành này, có cách nào khác để thực hiện việc này trong đó tôi có quyền truy cập vào ng-model attr và di chuyển chức năng mô hình đến một nơi khác không?
addItem.capabilities.$valid = true
và / hoặc đặt addItem.capabilities. $ Error. được yêu cầu thành true hoặc false khi thích hợp chưa?
<div ... data-ng-show="capabilities_error" ...>
Nói cách khác, có lý do gì bạn muốn / cần sử dụng FormController không?