使用ngFormController获取值的最佳方法

时间:2015-07-23 22:02:45

标签: angularjs

这可能不正确,也许我的谷歌已经脱轨了但是对于我的生活我找不到任何文档来使用FormController返回所有$ valid = true值。这个功能是否存在?我正在尝试从表单中编组信息并将其发送到我的Web服务,但在此之前我不想让它成为明智的事情。目前我正在循环遍历FormController中给定表单的所有属性,并查看它是否不以$开头,$ valid = true并将其推送到如下数组:

            angular.forEach(form,function(data,key)
        {

            if(key.indexOf('$') === -1 && data.$valid)
            {

                var item[key] = data.$modelValue;

                clean.push(item);

            }

        })

真正的基础,但我完全难过(并且不能完全相信)这在角度API中已经不存在了。我错过了什么吗?我还在学习很多关于棱角分明的东西,并且我感觉到很多东西都没有真正记载,但也许我错过了一些非常基本的东西。谢谢你的阅读!

2 个答案:

答案 0 :(得分:1)

这不是ngFormController用于(用于验证和自定义指令脚本)的内容。如果您需要将收集表单数据发送到服务器,您只需要使用ngModel指令:

<form novalidate ng-submit="saveUser()">
    <input type="text" ng-model="user.name">
    <input type="text" ng-model="user.email">
</form>

并且在控制器saveUser处理程序中,您可以访问表单数据,如

$scope.saveUser = function() {
    console.log($scope.user); // {name: "Thomas", email: "mann@ga.com"}
    // use $scope.user data to send to server
};

答案 1 :(得分:1)

您只需使用ng-model即可。在表单中的值有效之前,Angular不会填充模型,因此您无需手动检查$valid

例如:

<input type="text" ng-model="myData" ng-minlength="3" required>
{{myData}}

在您输入至少3个字符之前,您会看到myData未填充。