Caso você esteja pensando em criar um pacote em php, este guia pode ajuda-lo. Principalmente se este pacote for open source.
Para conseguir alcançar seu objetivo, recomendo que você estude alguns pontos antes de avançar:
import { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms'; | |
import { UserService } from '../services/user.service'; | |
import { Observable } from 'rxjs/Observable'; | |
import { catchError, map, switchMap } from 'rxjs/operators'; | |
import { of, timer } from 'rxjs'; | |
export function uniqueUsernameValidator(userService: UserService): AsyncValidatorFn { | |
return (control: AbstractControl): Observable<ValidationErrors | null> => { | |
return timer(500).pipe(switchMap(() => { |
<template> | |
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" | |
aria-labelledby="exampleModalLabel" aria-hidden="true"> | |
<div class="modal-dialog modal-lg" role="document"> | |
<div class="modal-content"> | |
<div class="modal-header"> | |
<h5 class="modal-title" id="exampleModalLabel"> | |
Editar Empresa | |
</h5> | |
<button type="button" class="close" data-dismiss="modal" |
<template> | |
</template> | |
<script> | |
export default { | |
data() { | |
return { | |
registros: [], | |
registro: { |
create table livros ( | |
id integer primary key auto_increment not null, | |
nome varchar(100) not null, | |
data_de_lancamento date not null, | |
autor_id integer not null, | |
preco decimal(10,2) not null | |
); | |
create table autores ( | |
id integer primary key auto_increment not null, | |
nome varchar(100) not null |