tag:forum.selfhtml.org,2005:/self HTML 5 Pattern – SELFHTML-Forum 2018-05-05T13:16:56Z https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721151#m1721151 Meowsalot 2018-05-01T18:17:16Z 2018-05-01T18:17:16Z HTML 5 Pattern <p>Hallo,</p> <p>ich habe mich auf der Seite <a href="http://pattern.tfcpc.de/pattern-tutorial.php" rel="nofollow noopener noreferrer">http://pattern.tfcpc.de/pattern-tutorial.php</a> schlau gemacht allerdings zu meinem Problem nichts gefunden.</p> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721152#m1721152 Matthias Apsel matthias.apsel@selfhtml.org https://brückentage.info 2018-05-01T18:23:19Z 2018-05-01T18:23:19Z HTML 5 Pattern <p>Hallo Meowsalot,</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein.</p> </blockquote> <p>Die werden dafür schon ihren Grund haben. Gängele deine Nutzer nicht.</p> <blockquote> <p>Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>Formuliere in natürlicher Sprache, welchem Muster die Eingabe entsprechen soll. Erstelle anschließend einen entsprechenden regulären Ausdruck.</p> <p>Technisch Versierte können das Attribut mit den Entwicklertools entfernen.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721153#m1721153 Henry 2018-05-01T18:23:24Z 2018-05-01T18:24:00Z HTML 5 Pattern <p>Hallo Meowsalot,</p> <blockquote> <p>ich habe mich auf der Seite <a href="http://pattern.tfcpc.de/pattern-tutorial.php" rel="nofollow noopener noreferrer">http://pattern.tfcpc.de/pattern-tutorial.php</a> schlau gemacht allerdings zu meinem Problem nichts gefunden.</p> </blockquote> <p>ähm… welches Problem? Das Folgende?</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>Geht's nur um Zahlen (dann verbiete die doch: nur a-zA-Z erlauben) oder was meinst du genau?</p> <p>Gruss<br> Henry</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721158#m1721158 beatovich https://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html 2018-05-01T18:30:55Z 2018-05-01T18:30:55Z HTML 5 Pattern <p>hallo</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>Dazu müsstest du darstellen, was du eigentlich erwartest.</p> <div class="signature">-- <br> Neu im Forum! Signaturen kann man ausblenden! </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721162#m1721162 Matthias Scharwies mscharwies@selfhtml.org 2018-05-01T18:39:46Z 2018-05-01T18:39:46Z HTML 5 Pattern <p>Servus!</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>Ja, aber wohl nicht mit dem pattern-Attribut (habe auch gegoogelt und nix gefunden).</p> <p>Beat und Matthias Apsel hatten es schon implizit angesprochen: Du musst die Eingabe <a href="https://wiki.selfhtml.org/wiki/JavaScript/Tutorials/Formulareingaben_mit_JavaScript_validieren" rel="nofollow noopener noreferrer">serverseitig validieren</a>.</p> <blockquote> <p>Bis bald!<br> Meowsalot (Bernd)</p> </blockquote> <p>Herzliche Grüße</p> <p>Matthias Scharwies</p> <div class="signature">-- <br> Es gibt viel zu tun: <em><a href="http://wiki.selfhtml.org/wiki/Kategorie:ToDo" rel="nofollow noopener noreferrer">ToDo-Liste</a></em> </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721173#m1721173 pl http://rolfrost.de 2018-05-02T05:30:04Z 2018-05-02T05:30:04Z HTML 5 Pattern <p>Hallo Bernd,</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>Magic Numbers? Das Thema hatten wird doch neulich </p> <p>Unterbinden ist nicht möglich also bleibt Dir nur, es zu prüfen: Da wo es ankommt, also am Server und nur da. Auch im Fall Ajax ist das recht einfach möglich (also eine Prüfung nur serverseitig) indem der HTTP Status einbezogen wird, z.B.:</p> <pre><code class="block language-js"><span class="token comment">// Callback</span> xhr<span class="token punctuation">.</span><span class="token function-variable function">onload</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token keyword">if</span><span class="token punctuation">(</span> <span class="token keyword">this</span><span class="token punctuation">.</span>status <span class="token operator">!=</span> <span class="token number">200</span> <span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token function">alert</span><span class="token punctuation">(</span><span class="token string">"Fehlermeldung.."</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span><span class="token punctuation">{</span> <span class="token comment">// Erfolgsmeldung</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> </code></pre> <p>Interessanter ist die Frage, was der Anwender zu sehen bekommen soll wenn er eine Magic Number sendet. Und in welchem Kontext überhaupt dieses Eingabefeld zu befüllen ist.</p> <p>Falls diese Magic Numbers irgendwelchen programminternen Dingen vorbehalten sind, wäre es very schlecht das dem Anwender zu kommunizieren. In diesem Fall wäre das Gesamtkonzept langfristig zu überdenken.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721441#m1721441 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-05T13:16:56Z 2018-05-05T13:16:56Z HTML 5 Pattern <p>@@Meowsalot</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> <p>In dem Zusammenhang: <a href="https://twitter.com/wortwart/status/992358729680084995" rel="nofollow noopener noreferrer">https://twitter.com/wortwart/status/992358729680084995</a> </p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721155#m1721155 Meowsalot 2018-05-01T18:28:31Z 2018-05-01T18:28:31Z HTML 5 Pattern <p>Hallo Matthias,</p> <blockquote> <p>Die werden dafür schon ihren Grund haben. Gängele deine Nutzer nicht.</p> </blockquote> <p>ich bitte dich, dieses solltes du mir schon überlassen?</p> <blockquote> <p>Technisch Versierte können das Attribut mit den Entwicklertools entfernen.</p> </blockquote> <p>Um dieses geht es hier nicht.</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721156#m1721156 beatovich https://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html 2018-05-01T18:29:37Z 2018-05-01T18:29:37Z HTML 5 Pattern <p>hallo</p> <blockquote> <p>Technisch Versierte können das Attribut mit den Entwicklertools entfernen.</p> </blockquote> <p>Seit wann ist html ein Ersatz für Validierung?</p> <div class="signature">-- <br> Neu im Forum! Signaturen kann man ausblenden! </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721157#m1721157 Meowsalot 2018-05-01T18:29:51Z 2018-05-01T18:29:51Z HTML 5 Pattern <p>Hallo Henry,</p> <blockquote> <p>Geht's nur um Zahlen (dann verbiete die doch: nur a-zA-Z erlauben) oder was meinst du genau?</p> </blockquote> <p>es geht darum, die Zahlenfolge 123456 ODER 654321 zu verbieten. Ansonsten ist an Zahlen alles erlaubt.</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721159#m1721159 Meowsalot 2018-05-01T18:31:17Z 2018-05-01T18:31:17Z HTML 5 Pattern <p>Hallo beatovich,</p> <blockquote> <p>Seit wann ist html ein Ersatz für Validierung?</p> </blockquote> <p>um den User ein unnötigen Reload zu ersparen. Man muss es dem User so einfach wie möglich machen.</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721163#m1721163 Henry 2018-05-01T18:43:59Z 2018-05-01T18:43:59Z HTML 5 Pattern <p>Hallo Meowsalot,</p> <blockquote> <p>es geht darum, die Zahlenfolge 123456 ODER 654321 zu verbieten. Ansonsten ist an Zahlen alles erlaubt.</p> </blockquote> <p>Na denn… Da kannst du wieder mal auf regex verzichten.</p> <pre><code class="block language-html"> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">oninput</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>if(this.value == '123456' || this.value == '654321'){alert('STOP');}<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> </code></pre> <p>Natürlich als eventlistener und Funktion schöner, aber das kriegst du, glaube ich, selbst hin.</p> <p>Gruss<br> Henry</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721160#m1721160 Meowsalot 2018-05-01T18:32:10Z 2018-05-01T18:32:10Z HTML 5 Pattern <p>Hallo beatovich,</p> <blockquote> <p>Dazu müsstest du darstellen, was du eigentlich erwartest.</p> </blockquote> <p>habe ich a) in meinem ersten Posting und hier: <a href="https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721157#m1721157" rel="noopener noreferrer">https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721157#m1721157</a></p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721164#m1721164 Matthias Scharwies mscharwies@selfhtml.org 2018-05-01T18:45:18Z 2018-05-01T18:49:01Z HTML 5 Pattern <p>Servus!</p> <blockquote> <p>Servus!</p> <blockquote> <p>Manche User machen es sich einfach und geben in ein input type="text" einfach 123456 oder 654321 ein. Dieses möchte ich gerne unterbinden. Ist dieses möglich?</p> </blockquote> </blockquote> <p>Geht doch mit Html5!</p> <p>Auf Englisch: "consecutive numbers"</p> <p>Hier auf <a href="https://stackoverflow.com/questions/10294626/regex-to-check-for-4-consecutive-numbers" rel="noopener noreferrer">Stack Overflow </a>- schau dir mal die markierte Lösung an.</p> <p><a href="https://stackoverflow.com/questions/22931991/regex-for-consecutive-numbers?noredirect=1&lq=1" rel="noopener noreferrer">Regex for consecutive numbers</a></p> <p>Herzliche Grüße</p> <p>Matthias Scharwies</p> <div class="signature">-- <br> Es gibt viel zu tun: <em><a href="http://wiki.selfhtml.org/wiki/Kategorie:ToDo" rel="nofollow noopener noreferrer">ToDo-Liste</a></em> </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721171#m1721171 marctrix self@mhis.de https://www.mhis.de 2018-05-02T04:54:35Z 2018-05-02T04:54:35Z HTML 5 Pattern <p>Hej Henry,</p> <blockquote> <blockquote> <p>es geht darum, die Zahlenfolge 123456 ODER 654321 zu verbieten. Ansonsten ist an Zahlen alles erlaubt.</p> </blockquote> <p>Na denn… Da kannst du wieder mal auf regex verzichten.</p> </blockquote> <p>Aber warum sollte man? Mit ist es doch einfacher, eleganter und weniger Code…</p> <p>Marc</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721165#m1721165 Rolf B 2018-05-01T18:52:31Z 2018-05-01T18:57:30Z HTML 5 Pattern <p>Hallo Matthias,</p> <p>da er 111111 nicht verbieten will, sondern 123456 bzw. 654321, passt die SO-Lösung mMn nicht.</p> <p>Die Lösung für das angefragte, konkrete Problem wäre für mich ein „negative Lookahead“: <code>(?!123456)(?!654321)\d{6}</code>.</p> <p>Eine serverseitige Zusatzprüfung wird dadurch natürlich nicht obsolet. Und ob man damit bockige User zu Disziplin zwingen kann, würde ich auch mal bezweifeln. Wenn 123456 nicht geht, dann eben 123123, 121212 oder sonst irgendwas Geistloses, das schnell getippt ist.</p> <p>Die beiden wichtigen Lebensweisheiten lauten hier:</p> <ol> <li>Leg Dich nicht mit Narren an, sie ziehen dich auf ihr Niveau herab und schlagen Dich dort durch Erfahrung.</li> <li>Mach eine Anwendung narrensicher, dann wird nur ein Narr sie benutzen wollen.</li> </ol> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721172#m1721172 marctrix self@mhis.de https://www.mhis.de 2018-05-02T04:58:50Z 2018-05-02T04:58:50Z HTML 5 Pattern <p>Hej Rolf,</p> <blockquote> <p>Die Lösung für das angefragte, konkrete Problem wäre für mich ein „negative Lookahead“: <code>(?!123456)(?!654321)\d{6}</code>.</p> </blockquote> <blockquote> <ol> <li>Leg Dich nicht mit Narren an,</li> <li>Mach eine Anwendung narrensicher, dann wird nur ein Narr sie benutzen wollen.</li> </ol> </blockquote> <p>Hier kann auch die kluge Idee hinter stecken, nicht jedem meine Daten zu geben, selbst wenn er eine Angabe mittels Pflichtfeld erzwingt. Bevor ich dazu ein Plugin oder die Entwicklerwerkzeuge bemühe, tippe ich eine plausible Ziffernfolge ein. Zum Beispiel eine existierende PLZ, nur halt nicht meine eigene.</p> <p>Wenn es um PLZ geht sollte man aber auch <code>D 12345</code> und <code>D-01234</code> erlauben!</p> <p>Marc</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721177#m1721177 Meowsalot 2018-05-02T06:23:34Z 2018-05-02T06:23:34Z HTML 5 Pattern <p>Hallo Rolf,</p> <blockquote> <p>Eine serverseitige Zusatzprüfung wird dadurch natürlich nicht obsolet. Und ob man damit bockige User zu Disziplin zwingen kann, würde ich auch mal bezweifeln. Wenn 123456 nicht geht, dann eben 123123, 121212 oder sonst irgendwas Geistloses, das schnell getippt ist.</p> </blockquote> <p>Die Zahlenkombination 123123 & 121212 gibt es bei uns tatsächlich und ist somit kein Unfug. Es geht hier nur um 123456 und 654321 da diese bei uns Intern aus Gründe gesperrt sind,</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721206#m1721206 Henry 2018-05-02T09:17:07Z 2018-05-02T09:17:07Z HTML 5 Pattern <p>Hallo marctrix,</p> <blockquote> <p>Aber warum sollte man? Mit ist es doch einfacher, eleganter und weniger Code…</p> </blockquote> <p>ich schrieb ja auch "kann" nicht "sollte". </p> <p>Gruss<br> Henry</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721176#m1721176 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-02T06:19:23Z 2018-05-02T06:19:23Z HTML 5 Pattern <p>@@marctrix</p> <blockquote> <p>… tippe ich eine plausible Ziffernfolge ein. Zum Beispiel eine existierende PLZ, nur halt nicht meine eigene.</p> <p>Wenn es um PLZ geht sollte man aber auch <code>D 12345</code> und <code>D-01234</code> erlauben!</p> </blockquote> <p>Wenn es um PLZ geht, sollte man auch <code>SW9 9SL</code> erlauben! PLZ sind keine <em>Ziffern</em>folgen.</p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721180#m1721180 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-02T06:26:50Z 2018-05-02T06:26:50Z HTML 5 Pattern <p>@@pl</p> <blockquote> <p>Magic Numbers?</p> </blockquote> <p>Wirfst du wieder mit Begriffen um dich, deren Bedeutung du nicht verstanden hast?</p> <blockquote> <p>es zu prüfen: Da wo es ankommt, also am Server und nur da.</p> </blockquote> <p>Unsinn.</p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721184#m1721184 marctrix self@mhis.de https://www.mhis.de 2018-05-02T06:34:35Z 2018-05-02T06:34:35Z HTML 5 Pattern <p>Hej Gunnar,</p> <blockquote> <p>Wenn es um PLZ geht, sollte man auch <code>SW9 9SL</code> erlauben!</p> </blockquote> <p>Nur außerhalb Deutschlands.</p> <p>Marc</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721179#m1721179 Rolf B 2018-05-02T06:25:22Z 2018-05-02T06:25:22Z HTML 5 Pattern <p>Hallo Meowsalot,</p> <p>oh. Hatte PL da jetzt doch recht mit seinen Magic Numbers?</p> <p>Na whatever - hilft Dir mein Patternvorschlag?</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721183#m1721183 Rolf B 2018-05-02T06:33:41Z 2018-05-02T06:33:41Z HTML 5 Pattern <p>Hallo Gunnar,</p> <p>wenn ich Bernds Antwort so lese, hat PL es ganz genau und richtig verstanden.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721187#m1721187 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-02T06:42:54Z 2018-05-02T06:42:54Z HTML 5 Pattern <p>@@Rolf B</p> <blockquote> <p>wenn ich Bernds Antwort so lese</p> </blockquote> <p>Du meinst <a href="https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721177#m1721177" rel="noopener noreferrer">diese</a>?</p> <blockquote> <p>hat PL es ganz genau und richtig verstanden.</p> </blockquote> <p>Die Zeichenfolgen 123456 <em>(„Ist ja [fast] dieselbe Kombination wie an meinem Koffer!“)</em> und 654321 sind nicht das, was ich als <em lang="en">magic number</em> bezeichnen würde.</p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721185#m1721185 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-02T06:39:34Z 2018-05-02T06:39:34Z HTML 5 Pattern <p>@@marctrix</p> <blockquote> <blockquote> <p>Wenn es um PLZ geht, sollte man auch <code>SW9 9SL</code> erlauben!</p> </blockquote> <p>Nur außerhalb Deutschlands.</p> </blockquote> <p>WWW heißt nicht so, weil es schick aussieht (bspw. als <a href="https://speakerdeck.com/gunnarbittersmann/progressive-enhancement-rocks-uxcamp-europe-2016?slide=6" rel="nofollow noopener noreferrer">Ligatur</a>). Auch die ersten zwei Ws haben eine Bedeutung. </p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721193#m1721193 marctrix self@mhis.de https://www.mhis.de 2018-05-02T07:31:19Z 2018-05-02T07:31:19Z HTML 5 Pattern <p>Hej Gunnar,</p> <blockquote> <p>@@marctrix</p> <blockquote> <blockquote> <p>Wenn es um PLZ geht, sollte man auch <code>SW9 9SL</code> erlauben!</p> </blockquote> <p>Nur außerhalb Deutschlands.</p> </blockquote> <p>WWW heißt nicht so, weil es schick aussieht (bspw. als <a href="https://speakerdeck.com/gunnarbittersmann/progressive-enhancement-rocks-uxcamp-europe-2016?slide=6" rel="nofollow noopener noreferrer">Ligatur</a>). Auch die ersten zwei Ws haben eine Bedeutung. </p> </blockquote> <p>Ich habe beruflich sehr viel mit Webseiten zu tun, in denen nur deutsche Adressen Sinn machen.</p> <p>Marc</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721189#m1721189 dedlfix 2018-05-02T06:47:15Z 2018-05-02T06:47:15Z HTML 5 Pattern <p>Tach!</p> <blockquote> <p>Die Zeichenfolgen 123456 <em>(„Ist ja [fast] dieselbe Kombination wie an meinem Koffer!“)</em> und 654321 sind nicht das, was ich als <em lang="en">magic number</em> bezeichnen würde.</p> </blockquote> <p>Nicht die konkrete Zeichenfolge definiert etwas als Magic String, sondern dass bei Verwendung der Zeichenfolge eine bestimmte Aktion ausgelöst wird, die irgendwo hartkodiert im Programmcode steht.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721200#m1721200 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2018-05-02T08:45:43Z 2018-05-02T08:46:15Z HTML 5 Pattern <p>@@dedlfix</p> <blockquote> <p>Zeichenfolge […], die irgendwo hartkodiert im Programmcode steht.</p> </blockquote> <p>Das Irgendwo würde ich sowieso vermeiden und die Zeichenfolgen in einem Array ablegen. Vorzugsweise in einem Format, das sich für server- und clientseitige Prüfung verwenden lässt, bspw. JSON. Dann lassen sich später Änderungen einfach pflegen.</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$blacklist</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'["123456", "654321"]'</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span><span class="token script"><span class="token language-javascript"> <span class="token keyword">const</span> blacklist <span class="token operator">=</span> <span class="token constant">JSON</span><span class="token punctuation">.</span><span class="token function">parse</span><span class="token punctuation">(</span><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token variable">$blacklist</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">const</span> inputElement <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">querySelector</span><span class="token punctuation">(</span>…<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>blacklist<span class="token punctuation">.</span><span class="token function">includes</span><span class="token punctuation">(</span>inputElement<span class="token punctuation">.</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> … <span class="token punctuation">}</span> </span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span> </code></pre> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721203#m1721203 Rolf B 2018-05-02T08:58:06Z 2018-05-02T08:58:06Z HTML 5 Pattern <p>Hallo dedlfix,</p> <blockquote> <blockquote> <p>Du meinst diese?</p> </blockquote> </blockquote> <blockquote> <p>Nicht die konkrete Zeichenfolge definiert etwas als Magic String, sondern dass bei Verwendung der Zeichenfolge eine bestimmte Aktion ausgelöst wird, die irgendwo hartkodiert im Programmcode steht.</p> </blockquote> <p>Genau diesen Eindruck habe ich aus Bernds Satz.</p> <p>Die weiteren Überlegungen von Gunnar, wo man diese Liste ablegen sollte, sind natürlich relevant. Man kann z.B. beim Rendern der Seite das von mir vorgeschlagene Pattern daraus generieren. Eine brauchbare TE kann das sogar eigenständig an Hand eines Arrays als Template-Variable. </p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721205#m1721205 dedlfix 2018-05-02T09:12:45Z 2018-05-02T09:12:45Z HTML 5 Pattern <p>Tach!</p> <blockquote> <blockquote> <p>Zeichenfolge […], die irgendwo hartkodiert im Programmcode steht.</p> </blockquote> <p>Das Irgendwo würde ich sowieso vermeiden und die Zeichenfolgen in einem Array ablegen. Vorzugsweise in einem Format, das sich für server- und clientseitige Prüfung verwenden lässt, bspw. JSON. Dann lassen sich später Änderungen einfach pflegen.</p> </blockquote> <p>In diesem konkreten Fall ja. Auch generell ist das eine der Vorgehensweisen, um Magic Values zu vermeiden. Man legt sie in einer Variable oder Konstante ab, aus deren Namen man die Bedeutung erschließen kann.</p> <blockquote> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$blacklist</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'["123456", "654321"]'</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> </blockquote> <p>Ja, aber nicht so, denn dann ist das serverseitig nicht gescheit verwendbar. Lieber direkt als Array notieren.</p> <pre><code class="block language-php"><span class="token variable">$blacklist</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">123456</span><span class="token punctuation">,</span> <span class="token number">654321</span><span class="token punctuation">]</span><span class="token punctuation">;</span> </code></pre> <p>Oder herkömmlich:</p> <pre><code class="block language-php"><span class="token variable">$blacklist</span> <span class="token operator">=</span> <span class="token keyword">array</span><span class="token punctuation">(</span><span class="token number">123456</span><span class="token punctuation">,</span> <span class="token number">654321</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Ich gehe mal davon aus, dass es sich um Zahlen und nicht um Ziffernfolgen handelt.</p> <blockquote> <pre><code class="block language-php"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span> const blacklist = JSON.parse(<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token variable">$blacklist</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span>); </code></pre> </blockquote> <p>Statt dieser Weise auch eher wie folgt:</p> <pre><code class="block language-php"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span> const blacklist = <span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token function">json_encode</span><span class="token punctuation">(</span><span class="token variable">$blacklist</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span>; </code></pre> <p>Somit hat man das beste in beiden Welten, nämlich native Datentypen.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721207#m1721207 Meowsalot 2018-05-02T09:18:43Z 2018-05-02T09:18:43Z HTML 5 Pattern <p>Hallo Rolf,</p> <blockquote> <p>Die weiteren Überlegungen von Gunnar, wo man diese Liste ablegen sollte, sind natürlich relevant.</p> </blockquote> <p>das beste wäre, wenn die Daten aus einer Datenbank kommen würden? Dann wären sie jederzeit zu bearbeiten (löschen und editieren). Am besten in eine Tabelle die eh bei jedem Seitenaufruf abgefragt wird.</p> <p>Bis bald!<br> Meowsalot (Bernd)</p> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721217#m1721217 Rolf B 2018-05-02T11:54:15Z 2018-05-02T11:54:15Z HTML 5 Pattern <p>Hallo dedlfix,</p> <p>solange diese Blacklist nur für das pattern-Attribut gebraucht wird, könnte man auch aus PHP heraus gleich den Regex-Text dafür generieren und ins Attribut einbauen. Ansonsten sind wir wieder bei dem alten Thema "Daten aus PHP für JS bereitstellen" </p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/may/1/html-5-pattern/1721209#m1721209 dedlfix 2018-05-02T09:26:01Z 2018-05-02T09:26:01Z HTML 5 Pattern <p>Tach!</p> <blockquote> <blockquote> <p>Die weiteren Überlegungen von Gunnar, wo man diese Liste ablegen sollte, sind natürlich relevant.</p> </blockquote> <p>das beste wäre, wenn die Daten aus einer Datenbank kommen würden?</p> </blockquote> <p>Das kann man so pauschal nicht sagen. Wenn die List variable ist, dann Datenbank oder ähnliche Datenhaltung. Wenn sie einigermaßen stabil ist, und Anwender daran nichts zu ändern haben, dann spricht nichts gegen ein Liste in einer nur vom Admin bearbeitbaren Konfigurationsdatei, oder zur Not auch im Quellcode der Anwendung.</p> <blockquote> <p>Dann wären sie jederzeit zu bearbeiten (löschen und editieren). Am besten in eine Tabelle die eh bei jedem Seitenaufruf abgefragt wird.</p> </blockquote> <p>Nein, auf diese Weise sollte man Daten nicht in Tabellen mischen. Jedenfalls nicht, solange die Performance nicht wichtiger als die Wartbarkeit ist. Performance bekommt man aber mit besserer Hardware geregelt, Wartbarkeit und Code-Lesbarkeit hingegen nicht.</p> <p>dedlfix.</p>