3
4

4 回答 4

1

现在,您将 ng-show 绑定到在用户键入时更改的数据。而是将其绑定到单击按钮时更改的数据。这是我的看法:

$scope.update = function(user) {
    $scope.isEmptyEmail = $scope.form.uEmail.$error.required;
    $scope.isInvalidEmail = $scope.form.uEmail.$error.email;
};

然后将您的数据绑定到这些新值。

  <span ng-show="isEmptyEmail">Tell us your email.</span>
  <span ng-show="isInvalidEmail">This is not a valid email.</span>
于 2013-07-23T18:27:05.880 回答
0

如果我理解正确,你有

在 html 中:

ng-click="update(form)

在 ctrl 中:

 $scope.update = function(form) {
    //form.uEmail.$error.email
    //..etc
    console.log('update');
  };

并继续验证

于 2013-07-23T18:58:37.377 回答
0

如果只是表单验证,和上面类似,但更简单一点的代码是:

<input id="id" type="text" name="inputName" required>
<span ng-show="isSubmitted && formName.inputName.$error.required">This field is required</span>
<button id="save" value="Submit" ng-click="formSubmission()">Submit</button>

在控制器中:

$scope.formSubmission = function() {
    $scope.isSubmitted = true;
}

这样,它可以与每个字段一起使用,您不必为每个必需的输入编写代码

于 2017-05-16T12:11:47.073 回答
0

我正在为自己使用这种方法。到目前为止,它似乎工作得很好

控制器:

$scope.update = function () {
    $('.ng-invalid').addClass('ng-touched');
    if ($scope.form.$valid) {
        /// submit
    }
}

看法:

<ng-form name='form'>
    <!-- ... -->
    <button type="button" ng-click='update()'>Submit</button>
</ng-form>
于 2017-02-12T05:07:22.690 回答