使用TokenInputのプラグインを内蔵してformController検証AngularJSを使用。
現在、フィールドにテキストが含まれているかどうかを確認し、含まれている場合はフィールドを有効に設定しようとしています。プラグインを使用する際の問題は、プラグインが独自の入力を作成し、それからul + liを作成することです。
コントローラでaddItem(フォーム名)と私の機能にアクセスできます。$ 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;
}
};
TokenInputに何かが入力され、オブジェクトに渡されたときに、capabilityValidation関数を実行しています。
編集:
私の入力でng-modelが見つかり、オートコンプリートの結果が得られます。これは、モデルに基づいているため、ng-validが機能しない理由です。
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
私はこのオートコンプリートの実装を記述していませんが、ng-model attrにアクセスしてモデル関数を別の場所に移動する方法はありますか?
addItem.capabilities.$valid = true
および/またはaddItem.capabilitiesを設定する。$適宜trueまたはfalseにerror.required?
<div ... data-ng-show="capabilities_error" ...>
ではありません。