1
00:00:00,150 --> 00:00:03,960
Bien, continuamos con variación personalizada, usando expresiones regulares.

2
00:00:04,070 --> 00:00:08,730
Bueno, la idea de este ejemplo es no entrar mucho en detalle a todo lo que precion regular, porque

3
00:00:08,730 --> 00:00:11,940
en realidad es todo un mundo y podría dar para un curso completo.

4
00:00:12,060 --> 00:00:12,600
Ya he múlti.

5
00:00:12,600 --> 00:00:18,440
El lenguaje lo podemos utilizar no solamente en Java, sino también en JavaScript, en PHP o se chap

6
00:00:18,600 --> 00:00:24,510
en Python en cualquier lenguaje de programación y todo lo que envuelve a expresión regular es muy amplio,

7
00:00:24,600 --> 00:00:24,990
demasiado.

8
00:00:25,080 --> 00:00:30,260
Así que solamente vamos a validar, vamos a utilizar expresión regular para un caso en específico.

9
00:00:30,370 --> 00:00:36,300
Bien, la idea es utilizar en la clase usuario el atributo identificador para validar con expresión

10
00:00:36,300 --> 00:00:38,400
regular una validación personalizada.

11
00:00:38,490 --> 00:00:41,850
Bueno, para eso tenemos que también agregar este campo en el formulario.

12
00:00:41,970 --> 00:00:48,500
Recuerden que en el ejemplo anterior, cuando usamos sesión atributos, la idea era no incluirlo en

13
00:00:48,510 --> 00:00:54,900
el formulario para ver cómo se persiste esta información mediante el formulario y el controlador, el

14
00:00:54,900 --> 00:01:00,210
procesar el método que recibe los datos formulario y mantener este dato en la sesión antes DP.

15
00:01:00,390 --> 00:01:05,520
Pero bien, ahora la idea es incluir para poder validar con un formato con una presión regular.

16
00:01:06,360 --> 00:01:09,840
Entonces, si nos vamos al controlador, acá tenemos el identificador.

17
00:01:09,930 --> 00:01:15,690
La idea es que tenga un patrón similar, es decir, que sea con números, podría ser con dos números

18
00:01:15,750 --> 00:01:21,300
como máximo, con caracteres, seguido de un punto, seguido de tres números o dígitos, seguido a un

19
00:01:21,300 --> 00:01:24,330
punto y después seguido de tres dígitos.

20
00:01:24,450 --> 00:01:28,440
Después un guión, un carácter guión y después una letra mayúscula.

21
00:01:28,440 --> 00:01:29,220
Solamente mayúscula.

22
00:01:29,280 --> 00:01:29,790
Cualquiera.

23
00:01:29,940 --> 00:01:32,550
Entonces podríamos personalizar utilizando esta notación.

24
00:01:32,670 --> 00:01:36,090
Bueno, lo primero nos vamos a formulario, vamos a agregar este campo.

25
00:01:36,120 --> 00:01:39,430
Claro, lo tengo que agregar para ver esta validación personalizada.

26
00:01:39,570 --> 00:01:45,270
Aunque también podemos crear otro atributo en la clase usuario distinto a identificar e implementar

27
00:01:45,330 --> 00:01:49,740
esta validación, pero no tiene mucho sentido agregar más atributo para validar.

28
00:01:49,770 --> 00:01:52,020
Por ejemplo, podríamos usar este mismo atributo.

29
00:01:53,110 --> 00:01:54,030
Entonces voy a copiar.

30
00:01:54,780 --> 00:01:56,490
Vamos a pegar identificador.

31
00:01:59,110 --> 00:02:00,220
Y cambiamos acá.

32
00:02:01,470 --> 00:02:03,990
Me copié con las comillas bien identificador.

33
00:02:04,290 --> 00:02:09,960
Voy a copiar solamente identificador y lo pegamos acá, lo pegamos acá también.

34
00:02:10,050 --> 00:02:12,210
Y acá también llega también.

35
00:02:13,560 --> 00:02:14,600
Y tenemos listo el campo.

36
00:02:14,750 --> 00:02:17,210
Ahora tenemos que crear esta regla de validación.

37
00:02:17,300 --> 00:02:19,700
Nos vamos a usuario y acá.

38
00:02:20,180 --> 00:02:27,590
Entonces con pattern de patrón, acá tenemos el atributo regex regex de una presión regular.

39
00:02:28,490 --> 00:02:28,850
Listo.

40
00:02:28,940 --> 00:02:32,090
Y dentro implementamos la transmisión regular con ese patrón.

41
00:02:32,150 --> 00:02:38,300
Por ejemplo, queremos que nuestro identificador esté compuesto primero por dos dígitos, pero todos

42
00:02:38,300 --> 00:02:40,010
dígito puede ser de 0 9.

43
00:02:40,070 --> 00:02:40,760
Por lo tanto.

44
00:02:40,850 --> 00:02:41,540
Un rango.

45
00:02:41,630 --> 00:02:45,290
Usamos corchetes para indicar rango o carácter en particular.

46
00:02:45,290 --> 00:02:48,550
Que puede incluir esta sección del patrón o secuencia.

47
00:02:48,620 --> 00:02:48,950
Entonces.

48
00:02:48,950 --> 00:02:50,060
De 0 a 9.

49
00:02:50,210 --> 00:02:50,660
Listo.

50
00:02:50,780 --> 00:02:53,750
Y con las llaves indicamos la cantidad.

51
00:02:53,840 --> 00:02:54,470
Por ejemplo.

52
00:02:54,530 --> 00:02:55,340
Dos caracteres.

53
00:02:56,320 --> 00:02:58,510
Acá me puse un espacio, es un espacio, todo junto.

54
00:02:58,540 --> 00:03:01,690
Entonces de cero nueve cualquier carácter, de cero nueve.

55
00:03:01,750 --> 00:03:11,470
Pero que sean dos, por ejemplo 24 48 EFFI y seguido de punto, usamos también los corchetes para indicar

56
00:03:11,530 --> 00:03:12,250
este carácter.

57
00:03:12,520 --> 00:03:13,030
Punto.

58
00:03:13,150 --> 00:03:16,440
Va a estar seguido el punto y después de tres número.

59
00:03:16,670 --> 00:03:18,910
Entonces también podemos usar esto mismo.

60
00:03:19,120 --> 00:03:21,130
Lo podemos copiar y lo pegamos acá.

61
00:03:21,160 --> 00:03:23,410
Pero son tres en vez de dos, son tres.

62
00:03:23,710 --> 00:03:28,920
Se fijan ahora de cero nueve se puede abreviar en expresión regular, ya que es un rango.

63
00:03:28,990 --> 00:03:30,910
Este rango se puede escribir.

64
00:03:31,000 --> 00:03:31,720
Bueno, sería lo mismo.

65
00:03:31,810 --> 00:03:39,790
Es como un atajo con doble VAX, el archivo de pero de minúscula importante que sea con minúscula y

66
00:03:39,790 --> 00:03:40,420
no mayúscula.

67
00:03:40,570 --> 00:03:48,700
Entonces, con doble vax larch de minúscula, indica que cualquier dígito de 0 a 9 un rango, pero 3

68
00:03:48,790 --> 00:03:52,090
perfecto y seguido también de punto con los corchetes.

69
00:03:53,270 --> 00:03:57,140
Y otro rango de dígito con cantidad 3.

70
00:03:57,650 --> 00:03:58,850
Entonces vamos a copiar esto.

71
00:04:00,470 --> 00:04:01,160
Lo pegamos ahí.

72
00:04:01,480 --> 00:04:05,200
Bueno, acá me coloco más de forma automática, solamente dos con dos suficente.

73
00:04:05,420 --> 00:04:05,710
Bien.

74
00:04:05,840 --> 00:04:06,710
Y qué me faltaría?

75
00:04:06,980 --> 00:04:08,670
Ya tenemos dos dígitos.

76
00:04:08,690 --> 00:04:09,950
Punto tres dígito.

77
00:04:09,950 --> 00:04:10,860
Punto tres dígito.

78
00:04:10,880 --> 00:04:12,140
Falta el guión.

79
00:04:12,170 --> 00:04:13,160
Entonces corchetes.

80
00:04:14,120 --> 00:04:21,740
Guión seguido de otro rango, pero de la A a la Z, pero mayúscula, entonces un rango de la A A mayúscula

81
00:04:21,920 --> 00:04:23,720
hasta la Z es solamente minúscula.

82
00:04:23,780 --> 00:04:29,090
Ahora, si quieren que sea mayúscula y minúscula, lo puede escribir de esta forma minúscula a guión

83
00:04:29,240 --> 00:04:33,200
Z y después de nuevo a Z, pero con la mayúscula.

84
00:04:33,830 --> 00:04:35,480
Pero en nuestro caso solamente mayúscula.

85
00:04:36,960 --> 00:04:37,650
Y cuántos?

86
00:04:37,830 --> 00:04:38,310
Uno solo.

87
00:04:38,460 --> 00:04:40,410
El guión, solamente una letra.

88
00:04:40,770 --> 00:04:41,610
Entonces, las llaves.

89
00:04:41,850 --> 00:04:43,110
Uno para indicar la cantidad.

90
00:04:43,260 --> 00:04:43,560
Listo.

91
00:04:43,590 --> 00:04:50,040
Ahí tenemos nuestra validación personalizada utilizando patrón o expresión regular con relación pattern.

92
00:04:50,400 --> 00:04:51,210
Vamos a guardar.

93
00:04:51,380 --> 00:04:53,990
Bueno, y con expresión regular pueden validar lo que quieran.

94
00:04:54,150 --> 00:04:56,160
Rutas vgl algún tipo.

95
00:04:56,190 --> 00:04:58,080
Código correo electrónico.

96
00:04:58,200 --> 00:04:58,650
Al final.

97
00:04:58,740 --> 00:04:59,490
Lo que se me ocurra.

98
00:04:59,580 --> 00:05:00,190
Cualquier cosa.

99
00:05:00,240 --> 00:05:04,170
Pero si, como digo, prácticamente expresión regular es un lenguaje de programación.

100
00:05:04,240 --> 00:05:10,290
Entonces hay que aprenderlo desde cero y aprenderlo bien porque incluye un mundo de cosas acá, solamente

101
00:05:10,350 --> 00:05:12,810
una pincelada para implementar nuestra prisión regular.

102
00:05:13,000 --> 00:05:18,780
Y recuerden que esto acá es equivalente a esto acá de 0 a 9 dígitos.

103
00:05:19,790 --> 00:05:21,260
Bien, vamos a probar.

104
00:05:21,440 --> 00:05:22,190
Levantamos.

105
00:05:25,740 --> 00:05:30,960
Bien, acá aparece identificador, pero si enviamos va a fallar porque tiene 3 caracteres y nosotros

106
00:05:30,960 --> 00:05:32,880
colocamos que sean dos, solamente dos.

107
00:05:33,450 --> 00:05:36,270
Entonces vamos a quitar por ejemplo el 3 y vamos a probar.

108
00:05:37,020 --> 00:05:37,890
Debería funcionar bien.

109
00:05:38,010 --> 00:05:39,660
Enviamos bueno, falla.

110
00:05:39,750 --> 00:05:40,290
Por qué?

111
00:05:40,350 --> 00:05:44,370
Bueno, si revisamos acá el patrón o mejor vamos a mirar el código.

112
00:05:44,610 --> 00:05:46,920
Bueno, esto me pasó a mí también le puede pasar a Uds..

113
00:05:47,340 --> 00:05:49,770
Acá se agregó un espacio sin querer.

114
00:05:50,510 --> 00:05:53,940
Entonces ese espacio acá nos debe de ir siempre juntos.

115
00:05:54,000 --> 00:05:55,980
Tal como me pasó acá también la primera vez.

116
00:05:56,070 --> 00:06:01,980
Por alguna razón, extraña razón me agregó un espacio y hay que cuidar que no tenga ningún espacio en

117
00:06:02,040 --> 00:06:03,990
ningún espacio en blanco.

118
00:06:04,140 --> 00:06:05,520
En nuestro código, bien.

119
00:06:05,610 --> 00:06:07,890
Un detalle importante a tener en cuenta.

120
00:06:07,950 --> 00:06:08,610
Guardamos.

121
00:06:08,940 --> 00:06:09,690
Volvemos a probar.

122
00:06:10,920 --> 00:06:12,690
Hoy, si se fijan, lo álida bien.

123
00:06:13,080 --> 00:06:17,340
Ahora qué pasa si colocamos acá acá, pero en minúscula e minúscula?

124
00:06:18,250 --> 00:06:21,870
Enviar falla se fija porque requiere que sea mayúscula.

125
00:06:22,120 --> 00:06:26,290
Ahora, bueno, se cambian cualquier carácter, por ejemplo, si el punto le quitamos.

126
00:06:27,520 --> 00:06:30,970
Colocamos acá mayúscula como octava, pero si en el punto.

127
00:06:32,900 --> 00:06:34,880
Fallase fican tiene que ir el punto.

128
00:06:36,750 --> 00:06:40,950
O si colocamos cualquier cosa, por ejemplo, en vez de un punto colocamos una coma.

129
00:06:41,280 --> 00:06:42,030
Llega también.

130
00:06:44,240 --> 00:06:45,290
Falla ahora?

131
00:06:45,350 --> 00:06:47,540
Qué pasa si quiero que sea punto o coma?

132
00:06:47,900 --> 00:06:52,450
Bueno, simplemente acá agregamos punto, coma, coma.

133
00:06:52,550 --> 00:06:56,630
Entonces cualquier carácter que sea, punto o coma, llega también punto o coma.

134
00:06:57,500 --> 00:06:58,220
Guardamos.

135
00:07:00,780 --> 00:07:04,950
Embiar perfecto se fijan, entonces puede ser punto o coma.

136
00:07:05,310 --> 00:07:07,680
De hecho que tengo una coma, llega un punto, se fijan?

137
00:07:08,130 --> 00:07:13,260
Bueno, entonces utilizando presión regular podemos variar de forma bien simple, de forma personalizada.

138
00:07:13,350 --> 00:07:16,290
Bien, lo vamos a dejar solamente con punto como lo teníamos.

139
00:07:17,300 --> 00:07:22,550
Bordamos y en la próxima clase vamos a ver validación personalizada, pero utilizando una clase no da

140
00:07:22,550 --> 00:07:26,300
mucho Alierta, porque no solamente podemos trabajar con expresión regular si no podemos validar lo

141
00:07:26,300 --> 00:07:29,600
que queramos con If con problemas soñaba con nuestra propia implementación.

142
00:07:29,750 --> 00:07:30,710
Es mucho más flexible.

143
00:07:30,830 --> 00:07:32,480
Continuamos en la siguiente clase.
