Mam textareu:
Kód:
<textarea name="description" keydown.trigger="handleKeypress($event, $event.target.value)" value.bind="desc" ></textarea>
Kde pomocou keydown checkujem limit znakov. Limit znakov v databaze je vsak nie ako pocet znakov, ale v bytes.
Takze som vytvoril nieco taketo:
Kód:
handleKeypress(event,newValue) { let max = 3413;let valueSize = new Blob([newValue]).size;
if (event.charCode >= 48 && event.charCode <= 57 || event.key === "Backspace") {return true;}
else {
if (valueSize>= max) {return false;} }
return true;
}
Toto funguje fajn, nedovoli napisat viac znakov ako je limit 3413 bytes. Problem mam vsak s CTRL+V alebo mouseclick paste.
Ak uz je limit dosiahnuty, tak CTRL+V uz nepovoli, cize neprida dalsi text, to je v poriadku.
Ale ak este limit NIE JE dosiahnuty, tak ked tam uzivatel vlozi pomocou CTRL+V napr. 1000 dalsich znakov, tak ich textarea zobrazi aj nad limit.
A s tym bojujem, viete s tym pomoct prosim?