2017-04-03 22 views
14

Tôi muốn sử dụng xác thực HTML5 trong Angular 4 thay vì xác nhận xác thực/phản hồi dựa trên biểu mẫu của chúng. Tôi muốn giữ cho xác thực chạy trong trình duyệt.Góc 4 cho phép xác thực HTML5

Nó được sử dụng để làm việc trong Angular 2, nhưng kể từ khi tôi nâng cấp, tôi không thể tạo các biểu mẫu được tạo thủ công mà không có bất kỳ chỉ thị góc nào để xác thực bằng HTML5.

Ví dụ, điều này sẽ không xác nhận trong trình duyệt tại tất cả:

<form> 
<h2>Phone Number Validation</h2> 
<label for="phonenum">Phone Number (format: xxxx-xxx-xxxx):</label><br /> 
<input id="phonenum" type="tel" pattern="^\d{4}-\d{3}-\d{4}$" required> 

<input type="submit" value="Submit"> 

</form> 

Trả lời

28

Angular4 tự động thêm một thuộc tính novalidate đến hình thức.

enter image description here

Để ghi đè này, bạn có thể thêm các chỉ thị ngNativeValidate mẫu.

<form ngNativeValidate> 
<h2>Phone Number Validation</h2> 
<label for="phonenum">Phone Number (format: xxxx-xxx-xxxx):</label><br /> 
<input id="phonenum" type="tel" pattern="^\d{4}-\d{3}-\d{4}$" required> 

<input type="submit" value="Submit"> 

</form> 

Đáng tiếc là tôi không thấy điều này được phản ánh trong các tài liệu được nêu ra, nhưng không tìm thấy nó bằng cách nhìn vào mã nguồn: https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_no_validate_directive.ts

Nó cũng xuất hiện thêm ngNoForm mẫu đã tác dụng tương tự như ngNativeValidate tùy về các trường hợp sử dụng của bạn cho việc cần khai báo điều gì đó không phải là một biểu mẫu vì bất kỳ lý do gì.

Hy vọng điều này sẽ hữu ích.

+1

điểm trên; làm việc tuyệt vời cảm ơn! – Magn3s1um

+0

Rất vui khi được trợ giúp. –

+0

Cứu cuộc sống của tôi !! –

0

sử dụng ngNoForm hoặc ngNativeValidate trong mẫu của bạn

<form ngNoForm/ngNativeValidate> 
... 
</form> 
Các vấn đề liên quan