Tôi đã tạo biểu mẫu có góc 2 và thêm một số trình xác thực theo yêu cầu. Bây giờ tôi muốn kích hoạt xác nhận biểu mẫu nếu người dùng nhấp vào nút gửi. Trong các ví dụ tôi đã tìm thấy cho đến nay nút gửi bị vô hiệu hóa miễn là biểu mẫu không hợp lệ nhưng tôi muốn có nút gửi luôn kích hoạt và khi người dùng nhấp vào gửi biểu mẫu phải được xác thực. Có ai biết làm thế nào tôi có thể làm cho công việc này và phương pháp loại tôi nên sử dụng? Tôi đã tìm thấy phương thức updateValueAndValidity nhưng dường như nó không hoạt động với phương thức này.Xác thực Mẫu Kích hoạt Góc 2 trên Gửi
Trả lời
Nếu bạn đang sử dụng Template Mẫu Driven bạn có thể sử dụng cú pháp sau:
<form #f="ngForm" (submit)="add(f.valid)" novalidate>
<button type="submit">Save</button>
</form>
.ts
add(isValid: boolean){
if(isValid){
//do something
}
}
bạn cũng có thể thêm một số lỗi trên trình như thế này:
<form #f="ngForm" (submit)="add(f.valid)" novalidate>
<label>Name</label>
<div>
<input [(ngModel)]="name" name="name" #name="ngModel" required>
</div>
<div[hidden]="name.valid || (name.pristine && !f.submitted)">
<small class="text-danger">Please input name</small>
</div>
<button type="submit">Save</button>
</form>
Việc xác thực nên được thực hiện mỗi khi bạn thay đổi mô hình. Nhưng có lẽ bạn không thể nhìn thấy thông báo lỗi vì FormControl không bị ảnh hưởng? Đây là giải pháp của tôi hoạt động tốt.
tôi đã làm theo các bước sau đây dễ dàng:
- Thực hiện một FormComponent (selector "hình thức") mà tiêm formGroupDirective (đăng ký vào trường hợp nộp và thiết lập trình là đúng)
@Component({ selector: 'form', templateUrl: 'form.component.html', styleUrls: ['form.component.scss'] }) export class FormComponent implements OnInit { @Output() submit = new EventEmitter(); constructor(@Optional() private formGroupDirective: FormGroupDirective) { } ngOnInit() { if (this.formGroupDirective) { this.formGroupDirective.ngSubmit.subscribe(() => { this.formGroupDirective.form['submitted'] = true; }); } } }
Các dòng quan trọng là trong ngOnInit
Kiểm tra hình thức được gửi để hiển thị lỗi
* ngIf = "control? .hasError ('required') & & (control? .ouched || ? Hình .submitted)"
Hy vọng rằng sẽ giúp
(Mẫu Reactive)
Có vấn đề với nó giải pháp của tôi là:
- Template
<button type="button" (click)="f.ngSubmit.emit(f)">Submit From Outside
form</button>
<form novalidate #f="ngForm" (ngSubmit)="save($event)"
[formGroup]="MyformGroup">
...
</form>
- Loại
@ViewChild('f') f: FormGroupDirective;
submit(formDirective: FormGroupDirective) {
console.log('valid', formDirective.valid);
console.log('value', formDirective.value);
}
Đây là giải pháp mà tôi sử dụng để gửi biểu mẫu bằng một số nút không có trong biểu mẫu.
Cảm ơn
nếu nút gửi của bạn ở bên ngoài biểu mẫu sử dụng thuộc tính biểu mẫu
Ứng dụng có hoạt động với IE không? –
Rất tiếc, không có. xem: https://www.w3schools.com/tags/att_button_form.asp – Aldracor
- 1. Góc 2 Hoạt ảnh - kích hoạt boolean?
- 2. Kích hoạt xác thực biểu mẫu jQuery chỉ khi biểu mẫu đã được gửi?
- 3. Góc 2 Xác thực cơ bản không hoạt động
- 4. Xác thực biểu mẫu góc không hoạt động đúng
- 5. Hoạt cảnh crossfade văn bản kích hoạt góc 2 kích hoạt trên thay đổi dữ liệu
- 6. Góc 2 Tuyến đường được kích hoạt
- 7. Kích hoạt xác thực jQuery bằng tay?
- 8. Góc 2 Trình xác thực Email
- 9. Góc 2 trạng thái xác thực
- 10. Ngưỡng mắt: Xác thực trên biểu mẫu gửi
- 11. Góc 2/Cách ngăn chặn trình duyệt IE kích hoạt tính năng xác thực đầu vào tự động?
- 12. Trình kích hoạt gửi biểu mẫu không hoạt động
- 13. Cách xác thực Google reCaptcha trên biểu mẫu Gửi
- 14. jQuery Xác thực biểu mẫu dừng gửi
- 15. Xác thực nút radio 2 góc với ngModel
- 16. Góc 2 thực thi tập lệnh sau khi tạo mẫu
- 17. Lỗi ném góc 2: Ổ cắm không được kích hoạt
- 18. cách xác thực mẫu trong gửi biểu mẫu
- 19. Hình thức xác thực nhóm dạng khuôn mẫu có định dạng góc 2
- 20. kết nối điều khiển biểu mẫu tùy chỉnh với xác thực biểu mẫu tùy chỉnh ở góc 2
- 21. CLI góc trong ASP.NET Core 2 Mẫu góc?
- 22. Thông báo lỗi kích hoạt xác thực jQuery
- 23. Làm thế nào để thực hiện cập nhật mô hình mẫu trên mờ ở góc 2
- 24. HTML/Javascript: Xác thực biểu mẫu đơn giản khi gửi
- 25. Góc 2 CanActivate không hoạt động
- 26. Xác thực biểu mẫu góc với trường bị vô hiệu
- 27. Gửi email với mẫu sử dụng kích hoạt
- 28. Xác thực biểu mẫu trước khi gửi jquery
- 29. Kích hoạt sự kiện nếu có lỗi xác thực?
- 30. Làm phím Enter trên biểu mẫu HTML gửi thay vì kích hoạt nút
Cảm ơn sự giúp đỡ của bạn nhưng tôi đang sử dụng phương pháp tiếp cận theo mô hình vì biểu mẫu của tôi được tạo động. Vấn đề là xác nhận có vẻ như hoạt động nhưng các lỗi không được hiển thị. – Snake
Có lẽ bạn đã đặt các xác thực để hiển thị bất cứ khi nào biểu mẫu được chạm/bẩn vv. Nếu bạn gửi biểu mẫu trống, các xác thực sẽ không hiển thị vì nó vẫn bị 'ảnh hưởng'. Tôi chưa tìm được giải pháp nào. –
Cảm ơn sự giúp đỡ của bạn. – Senthil