Hirdetés
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
petyus_
senior tag
válasz
instantwater
#7998
üzenetére
Tisztában vagyok vele, jelenleg is egy webforms alkalmazáson dolgozom, ráadásul a legkisebb probléma vele, hogy webforms
. Banki project, múltkor nekem kellett deployolnom, ami abból állt, hogy a gépemre publisholt projectet átmásoltam a megadott mappába (egyelőre csak QA-ra, de productionbe is így megy
). Ugyanennél a cégnél közben írunk egy web api-t is, de hiába indul 0-ról, azt sem engedték core-ban írni, mert hogy nem lehet csakúgy telepíteni a core-t a szerverekre (ami elég béna kifogás, mert self-contained-ként simán mehetne oda). -
petyus_
senior tag
válasz
instantwater
#7996
üzenetére
Még ebben az esetben is jobb lenne, ha húznának egy réteget a legacy rendszerre, és legalább afölött lehetne modern technológiákkal dolgozni. Mert így a valamikor esedékes újraírás még drágább lesz.
-
petyus_
senior tag
válasz
hiperFizikus
#7825
üzenetére
ne 'block' legyen, hanem 'inline-block'
-
petyus_
senior tag
válasz
bandi0000
#7767
üzenetére
Ha az a cél, hogy a regisztrált felhasználó egyből be is legyen léptetve, akkor az API-d register action-je akár vissza is küldheti egyből a tokent (nem tudom, hogy oldod meg a logint, gondolom jwt-vel, azt visszaadhatja a register method is), de ez csak egy tipp így hirtelen, működni működik, de nem tudom hogy szokták ezt megoldani.
-
petyus_
senior tag
válasz
bandi0000
#7765
üzenetére
Ezeket a mat-error alapból figyeli, required-öt is pl csak akkor írja ki, ha rámész az input mezőre, és kijössz belőle, tehát ha rákattintasz, de még nem írtál bele, akkor ki sem írja, csak ha úgy hagyod el, hogy üresen hagytad, vagy írtál bele, de visszatörölted.
"Errors are hidden initially and will be displayed on invalid form fields after the user has interacted with the element" - ezért, ha csak egy error-message van a fieldhez, akkor nem is kell neked foglalkozni az ngIf-ekkel, csak ha több van, és akkor is elég, ha csak az adott error-t teszed az ngIf-be
-
petyus_
senior tag
válasz
bandi0000
#7762
üzenetére
Kipróbáltam most a te validátorodat, és nekem jól működik.
Így néz ki a html:
<mat-form-field class="w-100"><mat-label>Name</mat-label><input type="text" id="name" formControlName="name" matInput placeholder="Enter category name" /><mat-error *ngIf="name.hasError('required')">Name is required.</mat-error><mat-error *ngIf="name.hasError('minlength')">Name must be at least 3 characters.</mat-error><mat-error *ngIf="name.hasError('containUpperCase')">Must conatin uppercase</mat-error></mat-form-field>És a ts-ben annyit csináltam, hogy beleraktam a te functionödet, meg hozzáadtam a formcontrolhoz:
name: new FormControl('', [Validators.required, Validators.minLength(3), this.containUpperCase]),Így üresen, és 3 karakter alatt csak a minlength hibát írja, containUpperCase-t meg utána (átneveztem containDigit-ről
).A name az egy sima getter, vissza adja a 'this.form.control.name'-et, így átláthatódd a html.
-
petyus_
senior tag
válasz
bandi0000
#7759
üzenetére
Nemrég kezdtem el használni a materialt, tehát nem 100%, hogy én tudom jól, de "mat-error"-ból lehet több, abba kell belerakni az error-message-eket (szerkesztettem az előzőt, raktam be egy saját kódot).
Viszont itt most a ts file kéne, ahol megírtad a custom validatort.
Egyébként pl a minlength így van megírva:static minLength(minLength: number): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
if (isEmptyInputValue(control.value)) {
return null; // don't validate empty values to allow optional controls
}
const length: number = control.value ? control.value.length : 0;
return length < minLength ?
{'minlength': {'requiredLength': minLength, 'actualLength': length}} :
null;
};
}isEmpty ennyit csinál:
return value == null || value.length === 0; -
petyus_
senior tag
válasz
bandi0000
#7747
üzenetére
Ha mutatsz kódot, kicsit könnyebb lenne. Írtad, hogy Materialt használsz, ott ha több hibaüzenet is van, akkor neked kell kezelned, hogy melyik mikor jelenjen meg, alapból csak annyit néz, hogy dirty || touched, és ha van hiba, akkor megjeleníti (ha több hiba van, akkor mindet). Neked megírnod mindegyik hibára, hogy melyik mikor jelenjen meg.
Illetve, ha már dirty || touched, és ezért mutatja a required hibát, akkor egyértelmű, hogy mutatja a "nincs e betű" hibát, mert ha üres, akkor nincs e betű
.Nekem pl van egy ilyenem:
<mat-form-field>
<mat-label>Name</mat-label>
<input type="text" id="name" formControlName="name" matInput />
<mat-error *ngIf="accountName.hasError('required')">Account name is required</mat-error>
<mat-error *ngIf="accountName.hasError('minlength')">Account name must be at least 3 characters</mat-error>
</mat-form-field>Itt a required akkor jelenik meg, ha dirty || touched, a minlength-es pedig akkor, ha 1 vagy 2 karakter van beírva, de ez a gyári minlength, itt megvan írva ez a viselkedés.
-
petyus_
senior tag
válasz
Nagyzoli27
#7310
üzenetére
Mert a .textContent() egy stringet ad vissza, és ezen akarod beállítani az innerHTML-t.
-
petyus_
senior tag
válasz
gepelek
#6906
üzenetére
Értem, de te az eltüntetést akarod gyakorolni, , az hogy iframe, vagy nem, tök mindegy, de sokkal egyszerűbb lenne ezeket csinálni, ha látnád rendesen a HTML-t. Majd amikor élesben csinálod, akkor elé rakod, hogy az iframe-ből válassz ki valamit.
Amúgy most látom, az előző azért nem megy, mert '.fa'-t írtál, nem kell elé a pont, az akkor kell, ha a querySelectorAll-t használod.
-
petyus_
senior tag
válasz
gepelek
#6903
üzenetére
Arra az elemre gondolsz, ami a "fa" osztályú elemek közül a második? Ha igen, akkor azért nem megy, mert az elsőt választod ki. A getElementsByTagName("fa") egy tömböt ad vissza, te odaírtad a végére, hogy [0], így az első elemet választod ki (ugyanúgy, mint ahogy korábban az első képet választottad ki). Ha a másodikat szeretnéd, akkor [1]-t írj a végére.)
Egyébként miért jó ezeket iframe-en gyakorolni? azonkívül, hogy ott van előtte, hogy iframe.contentWindow, pontosan ugyanúgy megy, mintha a sima HTML-t változtatnád, csak akkor jobban látnád a HTML szerkezetet.
-
petyus_
senior tag
válasz
gepelek
#6901
üzenetére
Értem amit írsz, meg is néztem a példát, és azt mondom, hogy működik, amit csinálsz, de a kép, amit eltüntetsz, az ez:
<img src="https://www.google.com/images/cleardot.gif" class="goog-te-gadget-icon" alt="" style="background-image: url("https://translate.googleapis.com/translate_static/img/te_ctrl3.gif"); background-position: -65px 0px;">Ha megnyitod az src-jét, láthatod, hogy ez nem egy olyan kép, amit látsz az oldalon, ezért nem is látod, hogy eltűnik.
Nézd meg mondjuk erre:
var elmnt = iframe.contentWindow.document.getElementsByTagName("img")[4];Ez a "Web Templates" alatti kép, ha ezen csinálod, akkor láthatod, hogy működik.
-
petyus_
senior tag
-
petyus_
senior tag
válasz
Agostino
#6890
üzenetére
jQuery(document).ready(function($) {
var doboz = $('.doboz');
doboz.each(function(){
if($(this).html()){
$(this).parent().css({'background-color': '#addfad', 'color': 'black'}).text('kész');
}
else{
$(this).parent().css({'background-color': '#addfad', 'color': 'black'}).text('kész');
}
});Rég nem jquery-ztem, lehet, hogy van szebb megoldás, de ez működik
Új hozzászólás Aktív témák
- Projektor topic
- Ennyibe kerülhet a Xiaomi Watch S4 európai változata
- Luck Dragon: Asszociációs játék. :)
- Formula-1
- BestBuy topik
- Casco és kötelező gépjármű felelősségbiztosítás
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nintendo 3DS és DS topic
- Vezeték nélküli fülhallgatók
- Mr Dini: Mindent a StreamSharkról!
- További aktív témák...
- Dell Latitude 5430 i5 12 gen 1235UCPU 16GB RAM 240GB SSD 14" FHD LED HUN bill W11pro laptop notebook
- Latitude 7440 14" FHD+ IPS i7-1365U 16GB 256GB NVMe ujjlolv IR kam gar
- HP 255 G9 Ryzen 3 5425U 8GB RAM, 512GB SSD,Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Gar
- AMD Ryzen 5 5600X - Új, 3 év garancia - Eladó!
- Eladó TAG Heuer Connected Calibre E3 prémium okosóra
- BESZÁMÍTÁS! ASUS H510M i7 11700 16GB DDR4 500GB SSD RTX 3060 Ti OC 8GB Zalman Z1 PLUS ADATA 600W
- BESZÁMÍTÁS! MSI B450 R5 5600X 32GB DDR4 512GB SSD RX 6700XT 12GB Zalman Z1 Plus Cooler Master 750W
- Honor Magic V3 Black Hajtogatható csúcsmobil, nagy főképernyő + fedlapi kijelző 12/512 GB
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
. Banki project, múltkor nekem kellett deployolnom, ami abból állt, hogy a gépemre publisholt projectet átmásoltam a megadott mappába (egyelőre csak QA-ra, de productionbe is így megy
). Ugyanennél a cégnél közben írunk egy web api-t is, de hiába indul 0-ról, azt sem engedték core-ban írni, mert hogy nem lehet csakúgy telepíteni a core-t a szerverekre (ami elég béna kifogás, mert self-contained-ként simán mehetne oda).
).


