- Milyen monitort vegyek?
- Házimozi belépő szinten
- ThinkPad (NEM IdeaPad)
- Szentjánosbogárral venné fel a versenyt a Macbook Neo ellen az Intel
- Videós, mozgóképes topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kormányok / autós szimulátorok topikja
- Apple MacBook
- Sony MILC fényképezőgépcsalád
- Milyen asztali (teljes vagy fél-) gépet vegyek?
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
sztanozs
veterán
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). Ja, és ki fogja majd pecselni a szeveren (főleg, ha self contained)?
-
instantwater
addikt
Ezt általában a pénzügyekért felelős vezetők döntik el, nem a fejlesztők.
Ők rövid távon profitnövekedést akarnak elkönyvelni.
Nem számít, hogy a fejlesztés ezáltal lelassul, felvesznek még ember.
Aztán amikor néhány év múlva abszolút tarthatatlan a helyzet, akkor felvesznek egy egész új csapat fejlesztőt, hogy oltsa a tüzet, és tegyen meg bármit az ellen, hogy összeomoljon az egész.Ilyenkor van a kolléga által említett 25 év lemaradás lefaragása 15 re.
Ugyanakkor azt sem szabad elfelejteni, hogy ilyen nagy cégek inkább választják a többéves, de kiforrott, stabil, megfelelően supportált technológiát a néhány éves legújabb trenddel szemben.
-
hiperFizikus
senior tag
-
bandi0000
nagyúr
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.
Igen ezen is gondolkodtam, talàn lehet ez lenne a legjobb kompromisszum
-
bandi0000
nagyúr
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.
De így nem figyeli a dirty és pristine tulajdonságokat nem? Mármint ha belekattintassz a mezőbe, akkor nem ír ki hibát, sőt elvileg a a requiredre nem is fog hibát jelezni csak a form lesz invalid
-
bandi0000
nagyúr
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;Az igazából ennyi:
export function containDigit(control: AbstractControl): { [key: string]: boolean } | null {
if(control.errors?.required || control.errors?.minlength || control.errors?.maxlength){return null; }
if (!/[A-Z]/.test(control.value) && environment.passwordContainDigit) {return {'containUpperCase': true }}
return null;}Akkor ír ki 2 hibaüzenetet amikor belekattintottam a mezőbe, de nem írtam semmit, nyilván olyankor required-re is lő, meg erre is, ezért próbálkoztam az első if-ben, megnézni, hogyha van már a required-re hiba, akkor ne is nézze ezt
-
bandi0000
nagyúr
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.
Igazából [ennyi]
egyenlőre még hunglish
de majd többnyelvűsítés a cél, igazából a gyári validatoroknál le van valahogy kezelve ez szerintem, mert pl egy üres mezőre nem írja ki, hogy kötelező, és email formátumnak meg kell felelnieDe akkor majd utánanézek, hogy lehet ezt normálisan kezelni
-
cattus
addikt
-
btz
addikt
Elvileg nem lesznek benne space-ek, így nem gond ennél a feladatnál, ha majd másik feledatnál kell alkalmaznom, akkor lehet hogy gondot okoz.
-
btz
addikt
Köszönöm a megoldást. Így már működik, amit szeretnék.
Egyetlen gond van vele, hogy az első klikknél nem csinál semmit, csak a második kattintás után kezdi törölni a div tartalmát. -
gepelek
csendes tag
É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.
Már működik. Köszönöm a segítséget, amúgy mire gondoltál, hogy amikor azt írtad, hogy "de sokkal egyszerűbb lenne ezeket csinálni, ha látnád rendesen a HTML-t"?
-
gepelek
csendes tag
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.
Sehogy se működik nem azzal van gond. Valami más lesz. Amúgy azért gyakorlom iframen, mert tömegesen szeretnék eltüntetni dolgokat egy másik oldalról és azt beépíteni a saját oldalamba.
-
gepelek
csendes tag
É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.
Igen ez valóban működik és értem is a lényegét, de ennek nem. Az második .fa osztály akarom eltüntetni, ami a második .fa osztály és nem engedi azt.
<!DOCTYPE html>
<html>
<body>
<iframe id="myFrame" src="/default.asp" style="height:380px;width:100%"></iframe>
<p>Click the "Tryit" button to hide the first H1 element in the iframe (another document).</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var iframe = document.getElementById("myFrame");
var elmnt = iframe.contentWindow.document.getElementsByClassName(".fa")[0];
elmnt.style.display = "none";
}
</script>
</body>
</html> -
Agostino
addikt
köszönöm szépen mindkettőtöknek, végül Jim-Y ötlete vált be, de nagyon hálás vagyok. egyébként sehogy nem akart menni, mindig minden zöld maradt, aztán észbe kaptam, hogy user error a div párokat nem ágyaztam be div alá...
ez volt nekem
<div class="info"></div>
<div class="doboz">tartalom</div>ehelyett
<div>
<div class="info"></div>
<div class="doboz">tartalom</div>
</div>
-
Agostino
addikt
szia
kiszedtem őket, köszi a tanácsot. : ) még csak annyi volna a kérdésem, hogy mindezekkel hogyan kellene az info div-et megcéloznom. ez a script arra nem mutat rá, ha jól láttam. az volna a célom, hogy ha a doboz tartalma változik, akkor az info színe változzon és akár mindez többször ismétlődve egyetlen oldalon.
-
Agostino
addikt
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
szia
köszönöm, de elnézést, elbénáztam... a doboz nincsen beágyazva az info divbe... külön div-ekról volna szó...

Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Szeged és környéke adok-veszek-beszélgetek
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Forza sorozat (Horizon/Motorsport)
- Mibe tegyem a megtakarításaimat?
- 12 000 mAh-val csak kihúzod estig
- World of Tanks - MMO
- Milyen monitort vegyek?
- Hitelkártyák használata, hitelkártya visszatérítés
- Diablo IV
- Házimozi belépő szinten
- További aktív témák...
- ASUS TUF Gaming FX505DT (Ryzen 7, 32GB RAM
- szinte új iPhone 17 Pro 256GB cosmic orange kozmosznarancs Apple 3 év garancia iStlye vásárlás
- új Apple Watch Series 11 GPS 42mm rozéarany alumíniumtok Apple 1 év garancia
- újszerű iPad Air (5. generációs) 64GB Wi-Fi space gray asztroszürke Apple 1 év garancia ajándék tok
- újszerű iPhone 16 Pro Max 256GB white fehér titán független Apple 1,5 év garancia ajándék tok
- Bomba ár! HP EliteBook 8440P - i5-520M I 4GB I 250GB I DVDRW I 14" HD I Cam I Garancia!
- Dell Optiplex 3020 MT,i3-4130,8GB RAM,128GB SSD,WIN10
- darkFlash GR12 Darkstorm Blue/Green
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Honor Magic6 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
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).



