Я хочу использовать угловой для реализации resuable формы фрагменты, какугловая форма фрагмент как проверить
angular.module('xx').directive('snippetA', function() {
return {
scope: {
form: '='
},
link: function (scope) {
scope.form.validator.customValidator = function (value) {
// return true or false;
};
},
template: '<input ng-model="form.data.userName" custom-validator="form.validator.customValidator(form.data.userName)" name="userName">' +
'<input ng-model="form.data.userId" name="userId" required>'
}
});
я использую изолировать область, чтобы предотвратить загрязнение сферы. Могут быть некоторые функции customValidator.
Это просто пример, проект реального мира намного сложнее, чем этот.
Некоторые свойства не могут быть показаны только формой с некоторыми входами, поэтому я добавляю свойство данных к объекту формы.
<form angular-validator name="formName" angular-validator-submit="form.submit()" class="form form-horizontal">
<snippet-a form="form"></snippet-a>
// more inputs or snippets
<button type="submit">submit</button>
</form>
$scope.form = {
validator: {},
data: {},
submit: function() {
// submit this.data
}
}
В настоящее время я использую angular-validation для подтверждения формы. Работает «ОК». Но его объем - это область, где существует «угловое-валидатор». Поэтому я должен назвать его неизменным именем, например «form»!
структура
$scope.form = {
validator: {},
data: {},
submit: function ...
}
когда моя страница содержит только одну форму, он прекрасно работает. Но когда моя страница содержит более одной формы, имя их будет конфликтовать.
Какова наилучшая практика проверки фрагментов формы?
Я думаю, что это может служить ?: http://stackoverflow.com/a/30201897/1074519 –
жаль, что это не так, мой snippt - это не один вход, поэтому я редактирую вопрос, чтобы сделать его более понятным – user3291637