Procurando por uma solução encontrei essa função para no input type ="hidden" eu possa enviar para o formulário a data atual mas não está funcionando o retorno é:
DateConverter.js:14 Uncaught Error: A data deve estar no formato dd/mm/aaaa
at Function.paraData (DateConverter.js:14)
at RegistroController._criaRegistro (RegistroController.js:46)
at RegistroController.adiciona (RegistroController.js:28)
<script type="text/javascript">
window.onload = function() {
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.getElementById("data").innerHTML =("<b>" + day + "/" + month + "/" + year + "</b>")
}
</script>
<div class="form-group"
<input type="hidden" id="data" class="form-control" />
</div>
esse é o data converter:
class DateConverter {
constructor() {
throw new Error('Esta classe não pode ser instanciada');
}
static paraTexto(data) {
return `${data.getDate()}/${data.getMonth() + 1}/${data.getFullYear()}`;
}
static paraData(texto) {
if (!/\d{2}\/\d{2}\/\d{4}/.test(texto))
throw new Error('A data deve estar no formato dd/mm/aaaa');
return new Date(...texto.split('/')
.reverse()
.map((item, indice) =>
item - indice % 2));
}
}
registroController
class RegistroController {
constructor() {
const $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputNome = $('#nome');
this._inputTipo_documento = $('#tipo_documento');
this._inputNumero_documento = $('#numero_documento');
this._registros = new Bind(
new Registros(),
new RegistrosView('#registros'),
'adiciona', 'esvazia',
);
this._mensagem = new Bind(
new Mensagem(),
new MensagemView('#mensagemView'),
'texto'
);
}
adiciona(event) {
event.preventDefault();
this._registros.adiciona(this._criaRegistro());
this._mensagem.texto = 'Registro efetuado com sucesso';
this._limpaFormulario();
}
_limpaFormulario() {
this._inputData.value = '';
this._inputNome.value = '';
this._inputTipo_documento.value = '';
this._inputNumero_documento.value = '';
this._inputData.focus();
}
_criaRegistro() {
// retorna uma instância de registro
return new Registro(
DateConverter.paraData(this._inputData.value),
this._inputNome.value,
this._inputTipo_documento.value,
parseFloat(this._inputNumero_documento.value)
);
}
apaga() {
this._registros.esvazia();
//this._registrosView.update(this._registros);
this._mensagem.texto = 'Negociações apagadas com sucesso';
}
}