Ejemplo de elemento:
<textarea class="form-control" id="presentation" required="" minlength="10" maxlength="300"></textarea>Si inserta cualquier texto manualmente, la validación se establece en Válido si la longitud está entre 10 y 300 caracteres.
Ejemplo: si escribo manualmente "Hola" en el campo y ejecuto:
$('#presentation')[0].validity.valid /*will return "false" as expected*/pero si uso alguna de estas formas para cambiar el valor del campo:
$('#presentation').prop('value','hell') //or $('#presentation').val('hell') //or $('#presentation')[0].value='hello'Causará:
$('#presentation')[0].validity.valid /*will return "true" and will cause a validation problem*/estableció el campo como válido, y la única forma de revalidarlo es cambiar el valor en el campo, manualmente. esto hará que se envíen datos no válidos en el formulario, este campo no se verificará.
Esto está sucediendo en Chrome, Firefox, Edge y Opera.
¿sabes si hay alguna forma de forzar el campo para validar su valor?
aquí un violinista con este problema: https://jsfiddle.net/rfigueiredo/jnuhfsc7/20/