gpt4 book ai didi

javascript - Angular JS 将表单字段设置为无效

转载 作者:搜寻专家 更新时间:2023-11-01 04:09:18 25 4
gpt4 key购买 nike

我正在尝试向我的 angular js 应用程序添加一些服务器端表单验证。我很难使表单字段无效并显示错误消息。

我的基本应用程序如下所示:

我有一个带有 Controller 的模型“客户端”

Accounts.controller('Client', ['$scope', 'ClientService', function ($scope, ClientService) {
$scope.loading = false;
$scope.errors = null;

$scope.init = function () {
$scope.abn = "some value from API call";
};

$scope.save = function (client) {
$scope.form.abn.$setValidity("server", false);
$scope.errors.abn = "Error message";
}

$scope.init();
}]);

和一个表单 View

<form name="form">
<div class="form-group">
<label>ABN Number</label>
<input type="text" name="abn" ng-model="client.abn">
<span ng-show="form.abn.$error.server">{{client.errors.abn}}</span>
</div>
<button ng-click="save(client)">Save</button>
</form>

和这样的应用

var Accounts = angular.module('Accounts', [
'ngRoute',
'ui.select2',
'ui.router'
])
.config(function ($stateProvider, $routeProvider) {
$routeProvider.otherwise('/404');

$stateProvider
.state('client', {
url: "/client",
templateUrl: "client",
controller: 'Client'
})
.state('404', {
url: "/404",
templateUrl: "/error/e404/"
});

});

有人能给我提供一个示例,说明我应该如何将 abn 字段设置为无效并显示错误消息吗?

最佳答案

显示错误的方式应该是这样的:

$error.server 更改为 $invalid:

<span ng-show="form.abn.$invalid">{{client.errors.abn}}</span>

我为 ng-invalid 类添加了一个样式,并创建了一个 plunkr,在您按下保存按钮后,该字段变为红色并显示 errorMessage。在 $scope.errors 上设置属性时还有另一个错误,因为它是 null。

http://plnkr.co/fDWF5g

关于javascript - Angular JS 将表单字段设置为无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com