所以假设我有一个表格:
<form ng-submit="submitForm()">
<custom-form-element><custom-form-element>
<button name="submit">Submit<button>
<form>
对于customFormElement
包含的数据(假设它是某种自定义字段),link
(或其他地方,如果合适?)指令定义的一部分,是否仍然有效在表单提交之前验证/清理那里的数据?
我不想在submitForm()
函数中执行此操作,因为那里可能有多个相同的元素。
编辑:可能有助于说我正在做的不是验证本身,而是更像... customFormElement
修改范围内的特定属性。 e.g。
$scope.customFormElementData = {};
然后在提交之前,它看起来像:
$scope.customFormElementData = {
foo: 'bar',
baz: 'quuz'
};
但我想做的是:
$scope.customFormElementData = {
foo: '',
baz: ''
}
我想省略foo和bar。
答案 0 :(得分:0)
不考虑你想要完成的是最好的方法,你可以通过广播事件来做你想到的事情。
所以在你的SubmitForm()
函数中:
$rootScope.$broadcast('aboutToSubmitForm');
$rootScope.$broadcast('submittingForm');
在控制器中:
$scope.$on('submittingForm', function() { //form submittal logic here });
然后,在你的指令的链接功能中:
$scope.$on('aboutToSubmitForm', function(){ //your pre form submission logic here });