#SciErr
Explore tagged Tumblr posts
Text
#undertale#Sans#Error Sans#Science Sans#ErrorScience#ScienceError#ErrorSci#SciError#ErrSci#SciErr#My Art
20 notes
·
View notes
Text
old weapon names + the entry for silence (doctor who) on wikipedia + car parts
Abally Afallsron Affale Affay Afterresta Albeets Alber Allacrier Allahan Allan Allashe Allymorght Ambecadaive Amberht Amboard Ammer Aseettopear Aserd Asheeprep Ashri Aspeuggen Astart Astelymord Astics Astoyche Astrin Astron Audiall Auxhance Aveamof Awaggeos Awaytons Bacre Baliers Ballsword Bally Barta Bastaham Batche Battere Beepts Beesitai Beingsword Biallocatah Biledger Bileve Blupossbows Bolboakram Bollook Bootone Boutle Bowiers Bowillorts Bowing Brestaffay Brets Brican Brolf Brossingen Buffat Buffay Bughing Bughtelafar Buisheve Bulge Buthord Buting Calber Calencepts Carmill Catelah Charbast Cheep Chford Chfork Chfort Chile Citaffaymo Clahar Clains Cluce Comply Conisten Corder Corealcher Corely Creat Creled Crellont Crepts Crics Crockwagger Croitrigics Cullone Curram Curvebow Dagen Daggerocal Daguarmer Daguichan Daguistan Dance Dancorgo Danspetans Dascrear Dence Dentive Deran Derstan Dettorgolve Diatti Dicrogrecut Dictistra Diferspen Docto Ealphamme Edmoffatto Edvauske Esher Eveal Evendrove Eventiang Evist Exisabow Expre Expret Expretave Exprole Exusion Exuske Faloonst Farscon Fat's Fater Faticated Faymo Faytheetus Fiaceprole Fiacto Fiananden Ficut Ficuth Fiell Firets Flacroneen Fladagges Flaff Flahan Flaiver Flana Flandaseet Fluce Flucep Focart Foche Fortar Fortive Fridese Frier Frighip Frivena Frodge Frold Fusioni Geossbow Glack Glameris Glammereni Goletle Goley Gollwhinife Grevillam Guarme Guichessive Guichri Halow Hambolexus Hamen Hammentis Hangkniferd Hardelchip Harpo Havalmen Haymorghous Hillo Hinsper Holds Holksworge Holvent Hough Houllsword Houtile Humaddy Humme Huriesta Hurve Hysicaut Hysilisana Hyundet Hyuntionted Imill Imoniferd Ingers Ingspo Ingsword Inife Ininflareat Intive Inueni Inues' Inueshum Jeestafal Katelon Katted Kiana Kinst Kitanoiter Kiten Ladile Laffalme Lainflain Laing Lainsen Lainter Lamong Lanads Lanaudius Lancar Lannoit Lastang Lescrove Linta Logranonta Lowien Luchan Luchis Ludged Luencom Luestion Lupongsword Luporn Maday Malloneep Mandelaspen Mardence Marhter Marts Mclub Mictontive Militard Minimpley Mitchfox Mobill Moffatchang Mofficall Moneen Monter Morran Mousini Munce Munter Muntle Muser Musita Nieross Noita Oadagge Oadocar Oadodgesil Ologrest Opyore Ortsword Ortsworyfox Orysielchar Pailly Painget Pargh Parhast Peaglam Pearest Peationg Petur Peugged Piesta Piestoper Pikend Pions Pitherep Pitramme Porear Possive Preancer Presat's Pretand Preveat's Proctiong Procult Promply Pronmance Prows Psyce Psycer Psychang Qualoc Rabroen Racreve Radsto Raingstang Raiveam Randill Rasitaftern Rasta Raterinuen Reagger Reata Recur Releturn Relexecult Rence Repts Reslang Reslen Resmarabore Restahance Retron Rette Rocaten Rokswors Rovena Rovnya Royce Sandrins Sanya Scadets Schar Scher Scherds Scierre Scitar Scongknins Scordi Scroniff Scyth Seere Selymortile Senime Senin Seurners Sheen Sheihal Sheingknins Sheschall Sheveni Shier Shold Sholdence Sholl Shord Shortion Shous Shouthem Siblayetti Siletarht Silexis Sione Sisis Siveall Sovessis Speanche Specard Specat Spent Speross Spetlana Spetrogre Spossile Staten Stiatent Stingsword Swordst Telche Tence Thakrana Thall Theet Theing These Thest Thook Thooto Thout Thrivere Throadi Throgranche Throlet Tiligichall Tonan Toyce Trabow Traing Trasta Troake Trodri Tromer Troutiong Trovnya Troyce Ulged Ulger Uncer Unch's Undcatist Usiere Vascon Vasely Vastiche Vaulfbeesta Veaxecret Verni Vesot Volbow Voldelchfox Voldsmor Volexprolde Volonter Wager Wardick Wartswords Weiningsto Weint Weintisat's Weiraxe Weireat Weladife Wellafter Welly Whielo Whier Whillarana Whippsyche Whout Winia Zweirear Zwelow
#names#name stash#fantasy name generation#fantasy name#fantasy names#random names#stash of names#444names#444 names#dnd names#worldbuilding names#random fantasy names#random worldbuilding names#random fantasy name generator#character names#random character names#random character name#markovgen#markov namegen#markov name generator#markov name generation#markov#markov gen
1 note
·
View note
Text
[Agosto/15/2017]
Al crear un formulario en HTML, debemos ser conscientes de un detalle ineludible: los usuarios se equivocan al rellenar un formulario. Ya sea por equivocación del usuario, ambigüedad del formulario, o error del creador del formulario, el caso es que debemos estar preparados y anticiparnos a estos errores, para intentar que los datos lleguen correctamente a su destino y evitar cualquier tipo de moderación o revisión posterior.
Para evitar estos casos, se suele recurrir a un tipo de proceso automático llamado validación, en el cuál, establecemos unas pautas para que si el usuario introduce alguna información incorrecta, deba modificarla o en caso contrario no podrá continuar ni enviar el formulario correctamente.
Un esquema tradicional de validación de ejemplo podrÃa ser el siguiente, donde tenemos un formulario diseñado en HTML5 y mediante javascript realizamos una validación para comprobar que los datos son correctos. Una vez superada, el formulario se envÃa al back-end de la p��¡gina para ser procesado y enviarlo por email (por ejemplo).
Tipos de validación
Cada vez que creamos un formulario, la validación de los datos introducidos estará situada en uno de los siguientes casos (colocados de peor a mejor):
Por último, tendrÃamos el caso ideal, donde el formulario tiene validación en el front-end y en el back-end, también denominado doble validación. En este caso, el formulario es sometido a un proceso de validación en la parte del front-end, y si lo supera, vuelve a pasar otro proceso de validación en el back-end. La desventaja de este método es que conlleva más trabajo de validación, pero es el sistema recomendado, puesto que es más estricto y sobre todo, más seguro.
En este primer caso, el formulario no tiene validación de ningún tipo. El usuario puede escribir la información y el sistema no comprobará los datos, ni realizará ningún tipo de validación. Es el peor escenario posible, puesto que el usuario podrÃa enviar desde información incorrecta, hasta datos malintencionados que podrÃan comprometer la seguridad de la página.
Otro caso podrÃa ser que el formulario tiene validación sólo en el front-end (cliente). De esta forma, los datos son verificados en el navegador del usuario antes de enviarse, pero carecen de validación en el back-end, por lo que un usuario malintencionado podrÃa eliminar la validación del front-end y saltársela, enviando datos malintencionados que comprometan la seguridad de la página.
El tercer caso posible es uno donde el formulario tiene validación sólo en el back-end. De esta forma, garantizamos que un usuario malintencionado no podrá eliminar el proceso de validación, y los datos siempre se comprobarán. Sin embargo, la desventaja de este método es que el usuario puede rellenar un formulario y es necesario que lo envÃe (con la tardanza que eso puede acarrear), se procese en el back-end y al devolver un error, el usuario tenga que retroceder al formulario y en algunos casos, incluso tener que volver a rellenar todos los campos de nuevo.
Tradicionalmente, la validación de un formulario se ha hecho siempre en Javascript, sin embargo, HTML5 introduce unos nuevos atributos para formularios que permiten realizar la validación del formulario directamente en HTML5, sin necesidad de recurrir a Javascript (aunque es posible hacerlo si se desea):
Recuerda siempre realizar la validación en el servidor o back-end (en rojo), ya que puede evitar problemas graves de seguridad.
Atributos básicos de validación
En nuestros campos de entrada de datos, se pueden utilizar ciertos atributos para realizar validaciones sencillas. Algunos de estos atributos ya lo hemos visto en apartados anteriores, sin embargo, vamos a comentarlos uno por uno:
AtributoValorPuede actuar sobre...DescripciónminlengthnúmeroCampos de textoEstablece la longitud mÃnima del texto requerida.maxlengthnúmeroCampos de textoNo permite escribir textos superiores a número carácteres.minnúmeroCampos numéricosEstablece el número mÃnimo permitido.fechaCampos de fechaEstablece la fecha mÃnima permitida.horaCampos de horaEstablece la hora mÃnima permitida.maxnúmeroCampos numéricosEstablece el número máximo permitido.fechaCampos de fechaEstablece la fecha máxima permitida.horaCampos de horaEstablece la hora máxima permitida.stepnúmeroCampos numéricosEstablece el salto de números permitido. Por defecto, 1.fechaCampos de fechaEstablece el salto de dÃas permitido. Por defecto, 1.horaCampos de horaEstablece el salto de segundos permitido. Por defecto, 1.requiredCampos en generalCampo obligatorio. Se debe rellenar para enviar formulario.disabledCampos en generalCampo desactivado. No se puede modificar. No se envÃa.readonlyCampos en generalCampo de sólo lectura. No se puede modificar. Se envÃa.
Con estos atributos, podemos crear validaciones básicas en nuestros campos de entrada de datos, obligando al usuario a rellenar un campo obligatorio, forzando a indicar valores entre un rango numérico o permitiendo sólo textos con un tamaño especÃfico, entre otros.
<form name="formulario" method="post" action="http://pagina.com/send.php"> <!-- Nombre de usuario. Campo obligatorio, entre 5-40 carácteres --> Usuario: <input type="text" name="nombre" placeholder="Por ejemplo, Juan" minlength="5" maxlength="40" required> <!-- Contraseña. Campo obligatorio, mÃnimo 11 carácteres --> Password: <input type="password" name="pass" placeholder="Contraseña" minlength="11" required> </form>
Además, utilizando las pseudoclases CSS de validación :valid e :invalid podemos aplicar estilos a los campos <input> y <textarea> teniendo en cuenta su validación. Aplicando el siguiente código CSS se mostrará un fondo verde o rojo, dependiendo de si cumple o no la validación, respectivamente:
input:valid, textarea:valid { background:green; } input:invalid, textarea:invalid { background:red; }
En el caso particular de un campo <input type="email"> se puede indicar el atributo multiple para permitir varios emails y que valide correctamente en el caso de estar realizando una validación HTML5.
Patrones de validación HTML5
No obstante, aunque los atributos de validación básicos son muy interesantes y pueden facilitarnos la tarea de validación, en muchos casos son insuficientes. Para ello tenemos los patrones de validación HTML5, mucho más potentes y flexibles, que nos permitirán ser mucho más especÃficos utilizando expresiones regulares para validar datos.
Una expresión regular es una cadena de texto que representa un posible patrón de coincidencias, que aplicaremos mediante el atributo pattern en los campos que queramos validar.
Para ello hay que conocer algunas caracterÃsticas básicas de las expresiones regulares:
Expresión regularCarácter especialDenominaciónDescripción
.
PuntoComodÃnCualquier carácter (o texto de tamaño 1)
A|B
PipeOpciones lógicasOpciones alternativas (o
A
o
B
)
C(A|B)
ParéntesisAgrupacionesAgrupaciones alternativas (o
CA
o
CB
)
[0-9]
CorchetesRangos de carácteresUn dÃgito (del
0 al
9
)
[A-Z]
Una letra mayúscula de la
A
a la
Z
[^A-Z]
^
en corchetesRango de exclusiónUna letra que no sea mayúscula de la
A
a la
Z
[0-9]*
AsteriscoCierre o clausuraUn dÃgito repetido 0 ó más veces (vacÃo incluido)
[0-9]+
Signo másCierre positivoUn dÃgito repetido 1 ó más veces
[0-9]{3}
LlavesCoincidencia exactaCifra de 3 dÃgitos (dÃgito repetido
3
veces)
[0-9]{2,4}
Coincidencia (rango)Cifra de 2 a 4 dÃgitos (rep. de
2
a
4
veces)
b?
InterrogaciónCarácter opcionalEl carácter
b
puede aparecer o puede que no
\.
Barra invertidaEscapeEl carácter
.
literalmente (no como comodÃn)Ejemplos de patrones HTML5
Para clarificar estos conceptos y entenderlos mejor, vamos a mostrar algunos ejemplos de campos con validaciones HTML5 en casos reales, y asà afianzar conceptos sobre expresiones regulares y su aplicación en los atributos pattern:
Tipo de campo: Nombre de usuario
Campo obligatorio: required.
Entre 5-40 carácteres: minlength="5" maxlength="40"
Sólo se permiten letras (mayúsculas y minúsculas) y números: pattern="[A-Za-z0-9]+"
<form name="formulario" method="post" action="http://pagina.com/send.php"> <!-- Nombre de usuario. Campo obligatorio, entre 5-40 carácteres Sólo se permiten letras y números --> <input type="text" name="nombre" placeholder="Su nombre de usuario" minlength="5" maxlength="40" required pattern="[A-Za-z0-9]+"> </form>
Nótese que de no incluir los atributos minlength y maxlength el usuario no tendrÃa limitación en cuanto al tamaño. Esto también puede incorporarse en la propia expresión regular, y prescindir de dichos atributos:
<form name="formulario" method="post" action="http://pagina.com/send.php"> <!-- Nombre de usuario. Campo obligatorio, entre 5-40 carácteres Sólo se permiten letras y números --> <input type="text" name="nombre" placeholder="Su nombre de usuario" required pattern="[A-Za-z0-9]{5,40}" title="Letras y números. Tamaño mÃnimo: 5. Tamaño máximo: 40"> </form>
Sin embargo, en este caso, no se limitará al usuario a la hora de escribir, como hace maxlength, sino que permitirá al usuario escribir la información que desee y en caso de no pasar la validación, mostrará un mensaje de advertencia y no lo dejará continuar hasta que termine. Podemos ampliar el mensaje de advertencia incluyendo el texto en el atributo title.
En el siguiente caso, se pide al usuario que indique el modelo de coche que posee, en un posible formulario de servicio técnico. Los modelos posibles son A1, A3, A4 y A15. En lugar de mostrar una lista de selección, podemos mostrar un campo de texto y colocar una validación como la siguiente:
Tipo de campo: Modelo de coche
Campo obligatorio: required.
Sólo se permiten las opciones: A1, A3, A4 y A15
<form name="formulario" method="post" action="http://pagina.com/send.php"> <!-- Modelo de coche Campo obligatorio, opciones posibles: A1, A3, A4 y A15 Sólo se permiten letras y números --> <input type="text" name="coche" placeholder="Su modelo de coche" required pattern="A|a(1|3|4|15)" title="Modelos posibles: A1, A3, A4 y A15"> </form>
Nótese que se permite tanto el formato a1 como el formato A1.
Herramientas para expresiones regulares
A continuación, algunas herramientas útiles para crear o probar expresiones regulares:
HerramientaDescripción
Debuggex
Herramienta de creación gráfica de expresiones regulares.
RegExR
Herramienta para construir y testear expresiones regulares.
RegEx101
Herramienta para construir y testear expresiones regulares.
RegExBuddy
Herramienta profesional para el trabajo con expresiones regulares.
RegExplained
Herramienta visual para explicar el funcionamiento de una expresión regular.
RegExper
Herramienta para generar diagramas visuales de expresiones regulares.
Rubular
Editor de expresiones regulares.
Tomado de:https://lenguajehtml.com/p/html/formularios/validaciones-html5
0 notes