การใช้ปลั๊กอินTokenInputและการใช้การตรวจสอบความถูกต้องของฟอร์มคอนโทรลเลอร์ในตัว AngularJS
ตอนนี้ฉันกำลังพยายามตรวจสอบว่าฟิลด์มีข้อความหรือไม่จากนั้นตั้งค่าฟิลด์ให้ถูกต้องหากมี ปัญหาในการใช้ปลั๊กอินคือมันสร้างอินพุตของตัวเองจากนั้น ul + li สำหรับ stlying
ฉันสามารถเข้าถึง addItem (formname) และความสามารถของฉันในคอนโทรลเลอร์ฉันแค่ต้องตั้งค่าเป็น $ valid
มาร์กอัป
<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;
}
};
ฉันกำลังเรียกใช้ฟังก์ชัน capacityValidation เมื่อ TokenInput มีบางสิ่งที่ป้อนและส่งผ่านในวัตถุ
แก้ไข:
พบว่า ng-model ในอินพุตของฉันทำสิ่งต่างๆและได้รับผลลัพธ์การเติมข้อความอัตโนมัติซึ่งเป็นสาเหตุที่ฉันไม่สามารถใช้งาน ng-valid ได้เนื่องจากเป็นไปตามโมเดล
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
ฉันไม่ได้เขียนการใช้งานการเติมข้อความอัตโนมัตินี้มีวิธีอื่นไหมในการดำเนินการนี้ซึ่งฉันจะสามารถเข้าถึง ng-model attr และย้ายฟังก์ชันโมเดลไปที่อื่นได้หรือไม่
<div ... data-ng-show="capabilities_error" ...>
กล่าวอีกนัยหนึ่งคือมีเหตุผลที่คุณต้องการ / จำเป็นต้องใช้ FormController หรือไม่?