Javascript 角度方向将模型值更改为未定义

Javascript 角度方向将模型值更改为未定义,javascript,html,angularjs,Javascript,Html,Angularjs,我在用这个表格 <div ng-controller="TestController"> <form ng-submit="saveForm()"> <input type="text" name="test" ng-model="testData" test="{{testValue}}"/> <input type="submit" value="Save"/> </form> <

我在用这个表格

<div ng-controller="TestController">
    <form ng-submit="saveForm()">
        <input type="text" name="test" ng-model="testData" test="{{testValue}}"/>
        <input type="submit" value="Save"/>
    </form>
</div>
在更改输入中的值并单击保存之后,我将在$scope.testData中获得未定义的值。为什么以及如何避免这种情况

我想补充一下:

scope.testData = viewValue;
内部功能:

ctrl.$validators.validators

但是它不起作用-只能轮流进行。

您的验证器需要为要设置的值返回true,否则它将是未定义的

如果有效性更改为无效,则模型将设置为未定义,除非ngModelOptions.allowInvalid为true。如果有效性更改为valid,则会将模型设置为最后可用的有效modelValue,即最后解析的值或范围中设置的最后值


我不明白这个问题。它似乎工作得很好,保存模型并调用saveForm。看这把小提琴
ctrl.$validators.validators
ctrl.$validators.validators = function(modelValue, viewValue) {
    return modelValue !== '';
};