mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Refactor: Email validation (#5568)
Move `is_valid_email` to utitlity class for reuse
This commit is contained in:
parent
38f99380da
commit
ee2c77e6af
|
@ -105,11 +105,6 @@ CLASS zcl_abapgit_gui_page_commit DEFINITION
|
||||||
!it_stage TYPE zif_abapgit_definitions=>ty_stage_tt
|
!it_stage TYPE zif_abapgit_definitions=>ty_stage_tt
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_text) TYPE string.
|
VALUE(rv_text) TYPE string.
|
||||||
METHODS is_valid_email
|
|
||||||
IMPORTING
|
|
||||||
iv_email TYPE string
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_valid) TYPE abap_bool.
|
|
||||||
METHODS branch_name_to_internal
|
METHODS branch_name_to_internal
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_branch_name TYPE string
|
iv_branch_name TYPE string
|
||||||
|
@ -356,23 +351,6 @@ CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD is_valid_email.
|
|
||||||
|
|
||||||
" Email address validation (RFC 5322)
|
|
||||||
" https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s01.html
|
|
||||||
CONSTANTS lc_email_regex TYPE string VALUE
|
|
||||||
'[\w!#$%&*+/=?`{|}~^-]+(?:\.[\w!#$%&*+/=?`{|}~^-]+)*@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6}'.
|
|
||||||
|
|
||||||
IF iv_email IS INITIAL.
|
|
||||||
rv_valid = abap_true.
|
|
||||||
ELSE.
|
|
||||||
FIND REGEX lc_email_regex IN iv_email.
|
|
||||||
rv_valid = boolc( sy-subrc = 0 ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD render_stage_details.
|
METHOD render_stage_details.
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_stage> LIKE LINE OF mt_stage.
|
FIELD-SYMBOLS <ls_stage> LIKE LINE OF mt_stage.
|
||||||
|
@ -461,13 +439,13 @@ CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION.
|
||||||
|
|
||||||
ro_validation_log = mo_form_util->validate( io_form_data ).
|
ro_validation_log = mo_form_util->validate( io_form_data ).
|
||||||
|
|
||||||
IF is_valid_email( io_form_data->get( c_id-committer_email ) ) = abap_false.
|
IF zcl_abapgit_utils=>is_valid_email( io_form_data->get( c_id-committer_email ) ) = abap_false.
|
||||||
ro_validation_log->set(
|
ro_validation_log->set(
|
||||||
iv_key = c_id-committer_email
|
iv_key = c_id-committer_email
|
||||||
iv_val = |Invalid email address| ).
|
iv_val = |Invalid email address| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF is_valid_email( io_form_data->get( c_id-author_email ) ) = abap_false.
|
IF zcl_abapgit_utils=>is_valid_email( io_form_data->get( c_id-author_email ) ) = abap_false.
|
||||||
ro_validation_log->set(
|
ro_validation_log->set(
|
||||||
iv_key = c_id-author_email
|
iv_key = c_id-author_email
|
||||||
iv_val = |Invalid email address| ).
|
iv_val = |Invalid email address| ).
|
||||||
|
|
|
@ -19,13 +19,18 @@ CLASS zcl_abapgit_utils DEFINITION
|
||||||
!ev_time TYPE zif_abapgit_definitions=>ty_commit-time
|
!ev_time TYPE zif_abapgit_definitions=>ty_commit-time
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
CLASS-METHODS is_valid_email
|
||||||
|
IMPORTING
|
||||||
|
iv_email TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_valid) TYPE abap_bool.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_UTILS IMPLEMENTATION.
|
CLASS zcl_abapgit_utils IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD extract_author_data.
|
METHOD extract_author_data.
|
||||||
|
@ -85,4 +90,20 @@ CLASS ZCL_ABAPGIT_UTILS IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD is_valid_email.
|
||||||
|
|
||||||
|
" Email address validation (RFC 5322)
|
||||||
|
" https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s01.html
|
||||||
|
CONSTANTS lc_email_regex TYPE string VALUE
|
||||||
|
'[\w!#$%&*+/=?`{|}~^-]+(?:\.[\w!#$%&*+/=?`{|}~^-]+)*@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6}'.
|
||||||
|
|
||||||
|
IF iv_email IS INITIAL.
|
||||||
|
rv_valid = abap_true.
|
||||||
|
ELSE.
|
||||||
|
FIND REGEX lc_email_regex IN iv_email.
|
||||||
|
rv_valid = boolc( sy-subrc = 0 ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user