简体   繁体   English

我如何使用angular js在错误或无效的输入字段的边框颜色?

[英]how can i can the border-color of input field on error or invalid using angular js ??

     <input type="text" id="name" name="name"  placeholder="your name"  autocomplete="on" ng-model="name"  required> 

现在如何在这里应用有角度的js来验证ang更改输入字段的border-color?

  angular.module('formExample', []) .controller('FormController', ['$scope', function($scope) { $scope.userType = 'guest'; } ]); 
 .my-form { -webkit-transition: all linear 0.5s; transition: all linear 0.5s; background: transparent; } .my-form.ng-invalid { background: white; } .my-input.ng-invalid { border-color: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script> <div ng-app="formExample"> <form name="myForm" ng-controller="FormController" class="my-form"> userType: <input name="input" ng-model="userType" required class="my-input"> <span class="error" ng-show="myForm.input.$error.required">Required!</span> <br> <code>userType = {{userType}}</code> <br> <code>myForm.input.$valid = {{myForm.input.$valid}}</code> <br> <code>myForm.input.$error = {{myForm.input.$error}}</code> <br> <code>myForm.$valid = {{myForm.$valid}}</code> <br> <code>myForm.$error.required = {{!!myForm.$error.required}}</code> <br> </form> </div> 

Check this out. 看一下这个。

  angular.module('formExample', []) .controller('FormController', ['$scope', function($scope) { $scope.userType = 'guest'; } ]); 
 .my-form { -webkit-transition: all linear 0.5s; transition: all linear 0.5s; background: transparent; } .my-form.ng-invalid { background: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script> <div ng-app="formExample"> <form name="myForm" ng-controller="FormController" class="my-form"> userType: <input name="input" ng-model="userType" required> <span class="error" ng-show="myForm.input.$error.required">Required!</span> <br> <code>userType = {{userType}}</code> <br> <code>myForm.input.$valid = {{myForm.input.$valid}}</code> <br> <code>myForm.input.$error = {{myForm.input.$error}}</code> <br> <code>myForm.$valid = {{myForm.$valid}}</code> <br> <code>myForm.$error.required = {{!!myForm.$error.required}}</code> <br> </form> </div> 

Source : enter link description here 来源: 在此处输入链接描述

you can use ngClass to add class to you element like: 您可以使用ngClass向您的元素添加类,例如:

<input type="text" id="name" name="name"  placeholder="your name"  autocomplete="on" ng-model="name"  ng-class="{'has-error': (!formName.name.$pristine && formName.name.$error.required)}" required>

formName.name.$pristine : will check if any changes to name input element is been made. formName.name。$ pristine:将检查是否对名称输入元素进行了任何更改。 formName.name.$error.required: will check error, here required is been checked. formName.name。$ error.required:将检查错误,此处要求已被检查。

in controller: 在控制器中:

$scopr.submit = function () {
    if ($scope.formName.$valid) { 
      //do your work
    }
}

your need to create css class or If you are using twitter bootstrap use one from it. 您需要创建css类,或者如果您正在使用twitter bootstrap,请使用其中的一个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM