Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu của màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Xác thực mẫu AngularJS


AngularJS có thể xác thực dữ liệu đầu vào.


Xác thực mẫu

AngularJS cung cấp xác thực biểu mẫu phía máy khách.

AngularJS giám sát trạng thái của biểu mẫu và các trường đầu vào (đầu vào, vùng văn bản, chọn) và cho phép bạn thông báo cho người dùng về trạng thái hiện tại.

AngularJS cũng chứa thông tin về việc chúng có được chạm vào, sửa đổi hay không.

Bạn có thể sử dụng các thuộc tính HTML5 tiêu chuẩn để xác thực đầu vào hoặc bạn có thể tạo các hàm xác thực của riêng mình.

Xác thực phía máy khách không thể một mình bảo mật đầu vào của người dùng. Xác thực phía máy chủ cũng cần thiết.


Yêu cầu

Sử dụng thuộc tính HTML5 required để chỉ định rằng trường nhập phải được điền:

Ví dụ

Trường đầu vào là bắt buộc:

<form name="myForm">
  <input name="myInput" ng-model="myInput" required>
</form>

<p>The input's valid state is:</p>
<h1>{{myForm.myInput.$valid}}</h1>
Hãy tự mình thử »

E-mail

Sử dụng email loại HTML5 để chỉ định rằng giá trị phải là e-mail:

Ví dụ

Trường đầu vào phải là một e-mail:

<form name="myForm">
  <input name="myInput" ng-model="myInput" type="email">
</form>

<p>The input's valid state is:</p>
<h1>{{myForm.myInput.$valid}}</h1>
Hãy tự mình thử »


Trạng thái biểu mẫu và trạng thái đầu vào

AngularJS liên tục cập nhật trạng thái của cả biểu mẫu và trường đầu vào.

Các trường đầu vào có các trạng thái sau:

  • $untouched Trường chưa được chạm vào
  • $touched Trường đã được chạm
  • $pristine Trường này chưa được sửa đổi
  • $dirty Trường này đã được sửa đổi
  • $invalid Nội dung trường không hợp lệ
  • $valid Nội dung trường hợp lệ

Chúng đều là thuộc tính của trường đầu vào và có giá trị true hoặc false .

Các biểu mẫu có các trạng thái sau:

  • $pristine Chưa có trường nào được sửa đổi
  • $dirty Một hoặc nhiều hơn đã được sửa đổi
  • $invalid Nội dung biểu mẫu không hợp lệ
  • $valid Nội dung biểu mẫu hợp lệ
  • $submitted Biểu mẫu đã được gửi

Chúng đều là thuộc tính của biểu mẫu và có giá trị true hoặc false .

Bạn có thể sử dụng các trạng thái này để hiển thị các thông báo có ý nghĩa cho người dùng. Ví dụ: nếu một trường là bắt buộc và người dùng để trống, bạn nên đưa ra cảnh báo cho người dùng:

Ví dụ

Hiển thị thông báo lỗi nếu trường đã được chạm VÀ trống:

<input name="myName" ng-model="myName" required>
<span ng-show="myForm.myName.$touched && myForm.myName.$invalid">The name is required.</span>
Hãy tự mình thử »

Lớp CSS

AngularJS thêm các lớp CSS vào biểu mẫu và trường nhập tùy thuộc vào trạng thái của chúng.

Các lớp sau đây được thêm vào hoặc xóa khỏi các trường đầu vào:

  • ng-untouched Trường chưa được chạm vào
  • ng-touched Trường đã được chạm
  • ng-pristine Trường này chưa được sửa đổi
  • ng-dirty Trường đã được sửa đổi
  • ng-valid Nội dung trường hợp lệ
  • ng-invalid Nội dung trường không hợp lệ
  • ng-valid- key Một khóa cho mỗi lần xác thực. Ví dụ: ng-valid-required , hữu ích khi có nhiều thứ phải được xác thực
  • ng-invalid- key Ví dụ: ng-invalid-required

Các lớp sau đây được thêm vào hoặc xóa khỏi biểu mẫu:

  • ng-pristine Không có trường nào chưa được sửa đổi
  • ng-dirty Một hoặc nhiều trường đã được sửa đổi
  • ng-valid Nội dung biểu mẫu hợp lệ
  • ng-invalid Nội dung biểu mẫu không hợp lệ
  • ng-valid- key Một khóa cho mỗi lần xác thực. Ví dụ: ng-valid-required , hữu ích khi có nhiều thứ phải được xác thực
  • ng-invalid- key Ví dụ: ng-invalid-required

Các lớp sẽ bị xóa nếu giá trị mà chúng đại diện là false .

Thêm kiểu cho các lớp này để cung cấp cho ứng dụng của bạn giao diện người dùng tốt hơn và trực quan hơn.

Ví dụ

Áp dụng kiểu, sử dụng CSS tiêu chuẩn:

<style>
input.ng-invalid {
  background-color: pink;
}
input.ng-valid {
  background-color: lightgreen;
}
</style>
Hãy tự mình thử »

Các biểu mẫu cũng có thể được tạo kiểu:

Ví dụ

Áp dụng kiểu cho các biểu mẫu chưa sửa đổi (nguyên bản) và cho các biểu mẫu đã sửa đổi:

<style>
form.ng-pristine {
  background-color: lightblue;
}
form.ng-dirty {
  background-color: pink;
}
</style>
Hãy tự mình thử »

Xác thực tùy chỉnh

Để tạo chức năng xác thực của riêng bạn thì phức tạp hơn một chút; Bạn phải thêm một lệnh mới vào ứng dụng của mình và xử lý việc xác thực bên trong một hàm với các đối số được chỉ định nhất định.

Ví dụ

Tạo lệnh của riêng bạn, chứa chức năng xác thực tùy chỉnh và tham chiếu nó bằng cách sử dụng my-directive .

Trường sẽ chỉ hợp lệ nếu giá trị chứa ký tự "e":

<form name="myForm">
<input name="myInput" ng-model="myInput" required my-directive>
</form>

<script>
var app = angular.module('myApp', []);
app.directive('myDirective', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attr, mCtrl) {
      function myValidation(value) {
        if (value.indexOf("e") > -1) {
          mCtrl.$setValidity('charE', true);
        } else {
          mCtrl.$setValidity('charE', false);
        }
        return value;
      }
      mCtrl.$parsers.push(myValidation);
    }
  };
});
</script>
Hãy tự mình thử »

Ví dụ giải thích:

Trong HTML, lệnh mới sẽ được tham chiếu bằng cách sử dụng thuộc tính my-directive .

Trong JavaScript, chúng ta bắt đầu bằng cách thêm một lệnh mới có tên myDirective .

Hãy nhớ rằng, khi đặt tên cho một lệnh, bạn phải sử dụng tên kiểu lạc đà, myDirective , nhưng khi gọi nó, bạn phải sử dụng - tên riêng biệt, my-directive .

Sau đó, trả về một đối tượng mà bạn chỉ định rằng chúng tôi yêu cầu ngModel , đó là ngModelController.

Tạo một hàm liên kết có một số đối số, trong đó đối số thứ tư, mCtrl , là ngModelController ,

Sau đó chỉ định một hàm, trong trường hợp này có tên myValidation , hàm này nhận một đối số, đối số này là giá trị của phần tử đầu vào.

Kiểm tra xem giá trị có chứa chữ cái "e" hay không và đặt tính hợp lệ của bộ điều khiển mô hình thành true hoặc false .

Cuối cùng, mCtrl.$parsers.push(myValidation); sẽ thêm hàm myValidation vào một mảng các hàm khác, hàm này sẽ được thực thi mỗi khi giá trị đầu vào thay đổi.


Ví dụ xác thực

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<h2>Validation Example</h2>

<form  ng-app="myApp"  ng-controller="validateCtrl"
name="myForm" novalidate>

<p>Username:<br>
  <input type="text" name="user" ng-model="user" required>
  <span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
  <span ng-show="myForm.user.$error.required">Username is required.</span>
  </span>
</p>

<p>Email:<br>
  <input type="email" name="email" ng-model="email" required>
  <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
  <span ng-show="myForm.email.$error.required">Email is required.</span>
  <span ng-show="myForm.email.$error.email">Invalid email address.</span>
  </span>
</p>

<p>
  <input type="submit"
  ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||
  myForm.email.$dirty && myForm.email.$invalid">
</p>

</form>

<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function($scope) {
  $scope.user = 'John Doe';
  $scope.email = ' [email protected] ';
});
</script>

</body>
</html>
Hãy tự mình thử »

Thuộc tính biểu mẫu HTML novalidate được sử dụng để vô hiệu hóa xác thực trình duyệt mặc định.

Ví dụ giải thích

Mô hình ng chỉ thị AngularJS liên kết các phần tử đầu vào với mô hình.

Đối tượng mô hình có hai thuộc tính: useremail .

ng-show , các khoảng có color:red chỉ được hiển thị khi người dùng hoặc email là $dirty$invalid .


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .