Skip to content

Commit 9a4d289

Browse files
authored
validator demo (#215)
1 parent 2637cec commit 9a4d289

File tree

2 files changed

+102
-0
lines changed

2 files changed

+102
-0
lines changed

src/z2ui5_cl_demo_app_203.clas.abap

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
CLASS z2ui5_cl_demo_app_203 DEFINITION
2+
PUBLIC
3+
FINAL
4+
CREATE PUBLIC .
5+
6+
PUBLIC SECTION.
7+
8+
INTERFACES if_serializable_object .
9+
INTERFACES z2ui5_if_app .
10+
11+
DATA check_initialized TYPE abap_bool .
12+
DATA ls_validation_schema TYPE z2ui5_cl_cc_validator=>ty_validation_schema .
13+
DATA mv_email TYPE string .
14+
DATA mv_number TYPE int4 .
15+
PROTECTED SECTION.
16+
17+
DATA client TYPE REF TO z2ui5_if_client.
18+
19+
METHODS display_view.
20+
PRIVATE SECTION.
21+
ENDCLASS.
22+
23+
24+
25+
CLASS Z2UI5_CL_DEMO_APP_203 IMPLEMENTATION.
26+
27+
28+
METHOD display_view.
29+
30+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
31+
32+
view->_generic( ns = `html` name = `script` )->_cc_plain_xml( z2ui5_cl_cc_validator=>get_js( is_validation = ls_validation_schema iv_view = 'MAIN' ) )->get_parent( ).
33+
34+
DATA(page) = view->shell( )->page( showheader = abap_false ).
35+
page->simple_form( title = 'Validator' editable = abap_true
36+
)->content( 'form'
37+
)->label( `email`
38+
)->input( value = client->_bind_edit( mv_email ) width = `15rem` id = `email`
39+
)->label( `number > 0`
40+
)->input( value = client->_bind_edit( mv_number ) width = `15rem` id = `number`
41+
)->button( text = `Submit` press = client->_event( 'CHECK_FORM' )
42+
).
43+
44+
45+
client->view_display( view->stringify( ) ).
46+
47+
ENDMETHOD.
48+
49+
50+
METHOD z2ui5_if_app~main.
51+
52+
me->client = client.
53+
54+
IF check_initialized = abap_false.
55+
check_initialized = abap_true.
56+
57+
58+
ls_validation_schema-properties-number-type = `number`.
59+
ls_validation_schema-properties-number-minimum = 1.
60+
ls_validation_schema-properties-number-max_length = 999999.
61+
62+
ls_validation_schema-properties-email-type = `string`.
63+
ls_validation_schema-properties-email-format = `email`.
64+
ls_validation_schema-properties-email-min_length = 0.
65+
66+
67+
client->view_display( z2ui5_cl_xml_view=>factory(
68+
)->_z2ui5( )->timer( finished = client->_event( `START` ) delayms = `0`
69+
)->_generic( ns = `html` name = `script` )->_cc_plain_xml( z2ui5_cl_cc_validator=>load_ajv( )
70+
)->stringify( ) ).
71+
72+
RETURN.
73+
ENDIF.
74+
75+
76+
CASE client->get( )-event.
77+
WHEN 'START'.
78+
display_view( ).
79+
WHEN 'BACK'.
80+
client->nav_app_leave( ).
81+
WHEN 'CHECK_FORM'.
82+
client->follow_up_action( z2ui5_cl_cc_validator=>validate_fields( ) ).
83+
ENDCASE.
84+
client->view_model_update( ).
85+
ENDMETHOD.
86+
ENDCLASS.

src/z2ui5_cl_demo_app_203.clas.xml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_203</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>validator - demo</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)