カスタムフォーム検証を記述しようとしています。私は指示がうまく働いています。ロードされています。しかし、私はライブフォーム検証をしたい。入力要素が入力されている間に、その要素が検証されていることを確認したいということです。私の人生は、この入力フォームの結果をどのようにして取得するかを把握しているように見えます。AngularJS指示文にフォーム入力を取得できません
package.js
define([
'angular',
'bb/checkout/form-validation/form-validation.directive'
],
function defineFormValidationPackage(
angular,
formValidation
) {
'use strict';
var module = angular.module('checkout.form-validation', []);
module.directive('cardFormValidation', formValidation);
return module;
}
);
フォームvalidation.directive.js
define(function defineFormValidation() {
'use strict';
function formValidation() {
return {
restrict: 'C',
scope: {
addCardScope: '@'
},
link: function ($scope, $element, $attrs) {
$scope.addCardScope = $scope.addCardScope || {};
var city = $scope.addCardScope.city;
$element.on('keypress', function(event) {
console.log("CITY: ", $scope.addCardScope);
});
}
};
}
return formValidation;
});
HTML
<form id="ccForm" class="card-form-validation customer-address-form" name="ccForm" formid="ccForm" action="" method="post">
<input id="city" type="text" class="validate" ng-model="addCardScope.city" maxlength="30" />
<div>{{addCardScope.city}}</div>
</form>
残念ながら、我々は現在の角度1.2.30を使用して、それをアップグレードすることができるポイントではありませんされています。私は1.2.30のフォーム文書を見ており、これを達成しようとしているように彼らはそれをしていないようだ。 – phelix
私はフォームからディレクティブを削除し、それぞれのフォームのバリデーションが異なるため、個々のフォームエレメントに対してディレクティブを持つ方がクリーンであるかもしれないと判断しました。マークアップは今のようになりました。 ng-model = "addCardScope.city" maxlength = "30" />