AngularJs验证整个模型

时间:2014-04-04 12:19:55

标签: angularjs

我有一个表行中有一些输入的视图。有没有办法检查整个模型是否有效而不使用表格(不能在tr中有形式)?

<tr ng-controller="SomeCtrl">
    <td>
        <input type="text" ng-model="someModel.name" required="required" ng-minlength="3">
    </td>
    <td>
        <input type="text" ng-model="someModel.x" required="required" ng-minlength="3">
    </td>
    <td>
        <input type="text" ng-model="someModel.y" required="required" ng-minlength="3">
    </td>
    <td>
        <button ng-click="save(someModel)">Save</button>
    </td>
</tr>

在控制器中我希望有这样的东西

function ($rootScope, $scope, serive) {
    $scope.save = function (someModel) {
        if (someModel.$valid) {}
    };
}

2 个答案:

答案 0 :(得分:0)

如果您使用表单并且它有一个名称,它会自动为您提供所需的内容。

<form name="someForm">
    <tr ng-controller="SomeCtrl">
        <td>
            <input type="text" ng-model="someModel.name" data-ng-required="true" ng-minlength="3">
        </td>
        <td>
            <input type="text" ng-model="someModel.x" data-ng-required="true" ng-minlength="3">
        </td>
        <td>
            <input type="text" ng-model="someModel.y" data-ng-required="true" ng-minlength="3">
        </td>
        <td>
            <button data-ng-disabled="!someForm.$valid" ng-click="someForm.$valid && Namesave(someModel)">Save</button>
        </td>
    </tr>
</form>

否则,没有自动化方法可以做到这一点。我想你可以写一个指令,它给你所有的输入和验证器,解析它们,并对整个模型进行验证,但我相信没有这样的东西存在。

答案 1 :(得分:0)

更好的方法: