1
00:00:00,330 --> 00:00:03,510
Quería continuar con lo que vimos en la clase anterior y dar un poco más de detalle.

2
00:00:03,540 --> 00:00:05,490
Por ejemplo, el simple de forma.

3
00:00:05,580 --> 00:00:07,290
Bueno, me imagino que muchos ya lo conocen.

4
00:00:07,410 --> 00:00:08,460
Es una clase de yaba.

5
00:00:08,550 --> 00:00:10,500
No he de sprinkles si no es propio de Yaba.

6
00:00:10,590 --> 00:00:11,990
De hecho, el рамках ella.

7
00:00:12,110 --> 00:00:18,900
Text simple day forman lo que hace bueno es justamente recibir una fecha como un string con algún formato

8
00:00:18,990 --> 00:00:26,430
y realizar un pars un parse para poder convertir este string a un objeto del tipo doit de yeva útil

9
00:00:26,520 --> 00:00:27,930
a un objeto fecha de yaba.

10
00:00:28,440 --> 00:00:33,540
Entonces bueno, por constructor se pasa este patrón de fecha justamente.

11
00:00:33,660 --> 00:00:39,510
Bueno, en nuestro caso el que necesitamos año, guión, mes, guión, día bien.

12
00:00:39,600 --> 00:00:40,650
Y tamé compliqué.

13
00:00:40,770 --> 00:00:48,000
Concept LENNIER modifica el valor de un atributo que permite indicar si es flexible o es estricto.

14
00:00:48,060 --> 00:00:51,480
La idea que sea estricto con el formato que sea tal cual como se especifica acá.

15
00:00:51,600 --> 00:00:55,980
Si es otro formato que lance algún error y lo manejamos en la validación, bien.

16
00:00:56,040 --> 00:00:58,110
Y qué pasa con el custom del editor?

17
00:00:58,200 --> 00:01:04,170
Bueno, una clase un poco más arriba que hereda de Property Editor Suport, que también es propio de

18
00:01:04,170 --> 00:01:09,810
Yaba bueno y nos permite por acá en el método Set Text.

19
00:01:10,020 --> 00:01:12,150
En este método nos permite convertir.

20
00:01:12,240 --> 00:01:16,690
Acá se recibe el string, el texto, el valor que obtenemos del formulario.

21
00:01:16,800 --> 00:01:24,660
En este caso, la fecha bueno hace las validaciones si permite un valor vacío true o false si lo permite.

22
00:01:24,810 --> 00:01:27,840
Y si no tiene texto, bueno, lo asigna a null.

23
00:01:27,960 --> 00:01:33,570
Bueno, y si tiene valor y de lo contrario, si no permite empty lanza una excepción.

24
00:01:33,870 --> 00:01:35,910
Y si no lo trata convertir.

25
00:01:35,940 --> 00:01:41,600
Si está todo correcto, si no es vacío, trata de convertir este formato con el método par&amp; D.T.

26
00:01:41,610 --> 00:01:44,640
Format punto par&amp; y el valor el texto.

27
00:01:44,790 --> 00:01:45,960
Bueno, y en qué se convierte?

28
00:01:45,990 --> 00:01:51,820
Por acá el dato retorna un dato de yaba útil un objeto date de yat.

29
00:01:51,960 --> 00:01:55,350
Por lo tanto, convierte el string en objeto ya y es justo.

30
00:01:55,350 --> 00:01:57,390
Lo que necesitamos es a la idea.

31
00:01:57,540 --> 00:01:59,370
Ahora bien, voy a cerrar acá.

32
00:02:00,180 --> 00:02:06,840
Otro detalle importante que acá se registra un Custo, un editor que se aplica a cualquier campo que

33
00:02:06,840 --> 00:02:09,900
sea del tipo fecha, es decir, cualquier campo de formulario.

34
00:02:10,470 --> 00:02:11,130
Voy acá.

35
00:02:12,230 --> 00:02:18,590
Porque el campo Coker input, que representa una fecha y este mapeado a un atributo del tipo yaba útil

36
00:02:18,620 --> 00:02:23,960
data de yaba, es decir, que este mapeado a un atributo en la clase Entity del tipo data.

37
00:02:24,230 --> 00:02:25,520
En este caso estremecimiento.

38
00:02:25,760 --> 00:02:28,880
Justamente claro, tenemos un solo atributo data.

39
00:02:28,970 --> 00:02:31,490
Por lo tanto, va a convertir ese atributo.

40
00:02:31,790 --> 00:02:32,900
Pero si tuviéramos más.

41
00:02:32,990 --> 00:02:39,290
También se aplica a todos los atributos del tipo del que te mapeado al campo de formulario a un input.

42
00:02:40,910 --> 00:02:46,330
Bien, pero también se puede mapear no de forma global, sino de forma más específica a un campo determinado.

43
00:02:46,900 --> 00:02:52,780
El Register Custom Editor tiene sobrecarga método, por ejemplo, como segundo parámetro o argumento.

44
00:02:52,780 --> 00:02:56,270
El método recibe un string con el nombre campo field.

45
00:02:57,010 --> 00:02:58,930
Entonces, por ejemplo, si solamente quiero convertir.

46
00:02:59,020 --> 00:03:01,130
Acabo de agregar una coma, un string.

47
00:03:01,300 --> 00:03:07,810
Solamente quiero convertir un solo atributo del usuario fecha nacimiento en nombre, el atributo que

48
00:03:07,810 --> 00:03:10,720
también corresponde al nombre del campo del input.

49
00:03:11,230 --> 00:03:13,390
Se fijan field fecha.

50
00:03:13,450 --> 00:03:13,960
Cimiento.

51
00:03:14,650 --> 00:03:15,160
Entonces.

52
00:03:15,160 --> 00:03:15,760
Por acá.

53
00:03:17,160 --> 00:03:22,560
Agregamos el nombre de este campo es otra alternativa mucho más específica.

54
00:03:22,650 --> 00:03:27,960
Entonces podemos registrar este custom editor para atributos en particular y no para que se aplique

55
00:03:28,050 --> 00:03:28,650
a todos.

56
00:03:28,770 --> 00:03:29,820
Guardamos bien.

57
00:03:29,940 --> 00:03:32,010
Ya tengo levantado entre clase anterior.

58
00:03:33,030 --> 00:03:34,890
Así que verás funcionar todo tal cual.

59
00:03:35,670 --> 00:03:36,690
Por ejemplo, enviar.

60
00:03:36,720 --> 00:03:37,590
Funciona perfecto.

61
00:03:39,150 --> 00:03:44,760
Calendario Selecciona otra fecha, por ejemplo 20 Enviar perfecto, ningún problema sigue funcionando

62
00:03:45,390 --> 00:03:48,030
ahora, qué pasa si bueno, voy actualizar acá.

63
00:03:49,490 --> 00:03:51,210
Y simplemente enviar nada.

64
00:03:51,420 --> 00:03:59,180
El campo fecha debe ser una fecha con formato tanto se fijan y antes da un mensaje de error que no podía

65
00:03:59,190 --> 00:03:59,630
ser nulo.

66
00:03:59,730 --> 00:04:00,210
Se acuerdan?

67
00:04:00,270 --> 00:04:01,460
Claro, no puede ser nulo.

68
00:04:01,600 --> 00:04:03,570
Bueno, eso cómo lo podríamos customizar?

69
00:04:03,690 --> 00:04:08,970
Bueno, al final es un detalle porque igualmente está valiendo ya sea sea nulo o si el formato no corresponde,

70
00:04:09,000 --> 00:04:14,460
porque acá al no colocar un valor estamos enviando el string vacío de la fecha.

71
00:04:14,580 --> 00:04:20,880
Yaser vacío lanza la excepción y a la sala acepcion de este formato no corresponde o no acepta vacíos.

72
00:04:20,970 --> 00:04:23,550
No puede ser empty válida de esta forma.

73
00:04:23,710 --> 00:04:24,900
Bueno, acá colocamos fols.

74
00:04:24,930 --> 00:04:29,610
Justamente por acá permite el vacío si permite vacío si colocamos.

75
00:04:30,780 --> 00:04:33,510
Bueno, permite vacío y validad que no puede ser null.

76
00:04:34,140 --> 00:04:34,530
Por qué?

77
00:04:34,560 --> 00:04:41,100
Porque si el vacío en el IF lo que hace es asignar, anula Anul y al ser null.

78
00:04:41,220 --> 00:04:44,610
Bueno, por acá valida con un null.

79
00:04:44,760 --> 00:04:46,230
Por lo tanto va a dar el otro mensaje.

80
00:04:46,350 --> 00:04:47,640
No puede ser nulo.

81
00:04:47,820 --> 00:04:48,630
Vamos a revisar.

82
00:04:49,740 --> 00:04:52,780
Entonces acá voy a guardar, lo dejamos en Trump.

83
00:04:53,250 --> 00:04:54,390
Esperen a que se actualice.

84
00:04:55,290 --> 00:04:55,830
Enviar?

85
00:04:55,980 --> 00:04:56,340
No puede.

86
00:04:56,420 --> 00:04:57,180
No se fijan.

87
00:04:57,390 --> 00:05:02,730
Entonces bueno, pues que como true o false, al final da lo mismo lo que cambia el mensaje de validación.

88
00:05:02,880 --> 00:05:05,760
Si no ponemos nada y es tan true, acepta acío.

89
00:05:05,850 --> 00:05:12,240
Bueno, da este mensaje no puede ser nulo porque aceptación si colocamos fools que no permite vacío.

90
00:05:12,360 --> 00:05:18,360
Bueno, va a colocar el otro mensaje porque lanza la excepción del formato que me corresponde y muestre

91
00:05:18,360 --> 00:05:24,780
que la fecha debe tener un formato X que especificamos, pero de cualquier forma estaría bien.

92
00:05:26,880 --> 00:05:32,250
Ya funciona bien Crilly, que con esto ya queda un poco más completo el tema de formatear fecha con

93
00:05:32,340 --> 00:05:35,370
init pinder y un custom del editor.

94
00:05:35,520 --> 00:05:37,080
Nos vemos en la siguiente clase.
