| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
Mam input field, kde potrebujem, aby mi pocas pisania validovalo value - aby uzivatel mohol pisat IBA cisla a desatinnu bodku. Problem je, ze to nemozem z istych dovodov spravit ako pattern, ani dat input field type na number a pod, takze to musim riesit v backende (je to cez Aurelia decorator, ale to je teraz nepodstatne). Tu validaciu som spravil takto: Kód: export class PositivenumberValueConverter { toView(number) { if(!number || typeof number == "number" ){return number;} else{ let clean_number = number.replace(/[^0-9.]/g, ""); //allow numbers and decimal point if( clean_number ){return clean_number;} else {return '';} } } } Toto sice funguje dobre, okrem cisel a desatinnych cisiel nepovoli nic, ale... zistil som, ze ak po sebe zadam 2 rovnake znaky alebo pismena (napr. gg, hh, --), tak po kazdom druhom stlaceni jedno pismeno zobrazi. Cize na klavesnici napisem napr: 52.35gg, tak v input fielde mi zobrazi 52.35g (zostane tam 1x to pismeno g). Po dalsom stlaceni 'g' odtial zmizne a po dalsom sa zas objavi a tak sa to strieda. Robi to IBA vtedy, ked pisem rovnake znaky za sebou. Ak pisem rozne znaky po sebe abcdef... tak nedovoli napisat ani jedno, cize nezobrazi ziadne pismeno, tak ako ma byt. Uz neviem ako vyriesit tuto haluz...
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 23.04.2019 13:51 | |
|
Validujes to po kazdom stlaceni tlacidla asynchronne? Kazdy dalsi znak, alebo cely obsah input fieldu?
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 23.04.2019 13:58 | |
|
v podstate tam posiela cely obsah, po kazdej zmene. Sranda je, ak tie prazdne uvodzovky v regexe nahradim nejakym znakom, napr. Kód: let clean_number = number.replace(/[^0-9.\-]/g, 'X'); tak potom kazde pismeno nahradi za ten znak (logicky), cize aj ked zadam gg, tak to nahradi za XX. Nechapem, ked tam nedam nic, preco kazde druhe zobrazi, ked to ma nahradit za 'nic'.
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 23.04.2019 14:14 | |
|
Je jedno ako rychlo stacis tie 2 pismenka po sebe?
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
| Napísal ux: 23.04.2019 14:19 | |
|
nech sa akokolvek snazim tak ten tvoj regex nedovoli do inputu napisat to co popisujes.. chyba bude asi niekde inde. https://codepen.io/anon/pen/ROYxZL?editors=1010#0potrebujes tam tie podmienky pred regexom? ked mas input type text tak vsetko co ti z neho tecie je string, tak naco kontrolovat ci to je number? nechal by som tam len ten event listener s regexom
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 23.04.2019 15:30 | |
|
to som uz skusal, prvotne dava typeof number, a po zmene je to uz string. Jedine riesenie co zatial pomohlo, je ze som dal vratit parseFloat (clean_number); Vtedy neberie ziadne znaky, ani tie duplicitne. Problem je ale potom, ze ani bodku, co potrebujem.
@void: je jedno ako rychlo stlacim po sebe. Hoci aj 5 minut po sebe, ale iba po rovnakych pismenach
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 23.04.2019 15:34 | |
|
Tak si skus spravit nejaky interny logging, pri kazdom volani funkcie a vstup/vystup. Mozno sa to nevola vzdy, ked by malo.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 23.04.2019 15:46 | |
|
vola to stale, to som uz debugoval, vysledna hodnota je vzdy spravna, napriek tomu tam zostava to jedno pismeno, kym sa opat nestlaci to iste alebo nieco ine. Pri roznych pismenach to nerobi, iba pri rovnakych. Preco by pri rovnakych po sebe nieco inak fungovalo ako pri abcdef
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 23.04.2019 16:20 | |
|
No, vies ako, neviem ako presne je implementovane to s cim pracujes ale normalne zvykne byt napriklad search input osetreny proti spamovaniu backendu opakovanym search-om, aby sa predislo spamu na backend poziadavkami. Cize sa tam zvykne pridavat nejaky casovy constraint, aby si to nepytalo request kazdy sekundu ale kazdych niekolko sekund. Myslel by som si (mozno dost nespravne) ze toto ej vysledok nejakeho podobneho (alebo vadneho) osetrenia pred podobnym problemom.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 24.04.2019 10:28 | |
|
no to by davalo logiku, keby to robilo len ked tie pismena zadam rychlo po sebe. Ale zadam 'g' a hoci aj po hodine zadam druhe 'g' a uz ho zobrazi, kym ho nezadam treti raz. Ale vsetko nasvedcuje tomu, ze to nebude tym regexom samotnym, ale ako pisete niecim inym naviazanym na ten input.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| regexp - iba cisla a line break v JavaScript, VBScript, Ajax | 2 | 290 | 22.04.2012 10:43 neopagan | | Asm : spočítanie slov ktoré obsahujú IBA čísla v Assembler, C, C++, Pascal, Java | 2 | 618 | 23.03.2010 15:55 crazy | | regex v PHP, ASP | 2 | 313 | 08.02.2015 23:24 esso82 | | Regex ? v PHP, ASP | 0 | 372 | 12.07.2012 9:34 d0.0b | | Bodka v Bezpečnosť a firewally | 2 | 366 | 12.09.2014 16:11 erik518 | | Regex replace v Ostatné | 5 | 382 | 02.07.2021 14:53 MTK | | MySQL REGEX v Databázy | 2 | 368 | 20.06.2013 16:16 Punker661 | | regex a diakritika v PHP, ASP | 10 | 2765 | 08.03.2010 20:05 Ďuri | | namiesto ciarky bodka v JavaScript, VBScript, Ajax | 3 | 576 | 29.06.2011 20:05 Ďuri | | Definitívna bodka za Xboxom v Novinky | 1 | 536 | 10.02.2010 13:21 f_fabregas4 | | Pomoc s regex-om v PHP, ASP | 1 | 239 | 13.04.2013 9:10 BX | | menu - pri hoveru podivna bodka v HTML, XHTML, XML, CSS | 14 | 750 | 02.05.2008 16:19 B.A.X.O | | V input text stale bodka v JavaScript, VBScript, Ajax | 2 | 364 | 11.06.2010 23:45 jtomcik | | Malá bodka kazí celý layout v HTML, XHTML, XML, CSS | 6 | 618 | 20.03.2008 12:41 ma®tin | | Zväčšiť pamäť iPhonu zo 16 na 128GB iba za 55€ ? Žiaden problém .. ale iba v Číne v Novinky | 11 | 1482 | 15.02.2016 15:06 liqua1 | | Zistenie majiteľa tel. čísla (potrebujem zistiť majitela tel. čísla) v Ostatné | 4 | 3335 | 02.11.2011 13:52 HGDS1 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|