Kiểm tra Validate đúng số điện thoại ở comment wordpress như thế nào?

Thảo luận trong 'Mã nguồn mở Wordpress' bắt đầu bởi seolagi, 10/12/20.

  1. seolagi

    seolagi

    Moderator

    Thành viên BQT

    Tham gia ngày:
    16/4/14
    Bài viết:
    748
    Đã được thích:
    67
    Điểm thành tích:
    28
    HI mình có sử dụng code dưới để thêm số điện thoại vào khung comment và xóa url đi, nhưng add nó vào mình đã khai báo aria-required="true" mà nó vẫn không thông báo cho người dùng biết là phải điền đúng số điện thoại.

    Có cách nào khi nhập vào sai lúc ấn gửi nó sẽ báo lên là chưa nhập sđt, nội dung commnet, tên cho người dùng thấy không? và khi nhập không đúng định dạng số điện thoại, phải nhập đúng định dạng sđt ở Việt Nam mới cho vào không? giúp mình với, cảm ơn

    PHP:
    add_filter('comment_form_default_fields', 'url_filtered');
    function url_filtered($fields)
    {
        $commenter = wp_get_current_commenter();
        unset($fields['author']);
        unset($fields['email']);

        $fields[ 'author' ] = '<p class="comment-form-author">'.
          '<input id="author" name="author" type="text" value="'. esc_attr( $commenter['comment_author'] ) .
          '" size="30" placeholder="Họ tên" tabindex="1" aria-required="true" /></p>';

        $fields[ 'email' ] = '<p class="comment-form-email">'.
          '<input id="email" name="email" type="text" value="'. esc_attr( $commenter['comment_author_email'] ) .
          '" size="30" placeholder="Email" tabindex="2" /></p>';

        $fields[ 'phone' ] = '<p class="comment-form-phone">'.
          '<input id="phone" placeholder="Số điện thoại" name="phone" aria-required="true" type="text" size="30"  tabindex="4" /></p>';

        if (isset($fields['url'])) unset($fields['url']);
        return $fields;
    }
    add_action( 'comment_post', 'save_comment_meta_data' );
    function save_comment_meta_data( $comment_id ) {
      if ( ( isset( $_POST['phone'] ) ) && ( $_POST['phone'] != ’) )
      $phone = wp_filter_nohtml_kses($_POST['phone']);
      add_comment_meta( $comment_id, 'phone', $phone );
    }

    //[Ap_dung_trong_Admin_quan_tri] Xem Them cot du lieu trong Edit_Comment trong quan tri admin
    add_action( 'add_meta_boxes_comment', 'extend_comment_add_meta_box' );
    function extend_comment_add_meta_box() {
        add_meta_box( 'title', __( 'Data Add Comment' ), 'extend_comment_meta_box', 'comment', 'normal', 'high' );
    }
    function extend_comment_meta_box ( $comment ) {
        $phone = get_comment_meta( $comment->comment_ID, 'phone', true );
        wp_nonce_field( 'extend_comment_update', 'extend_comment_update', false );
        ?>
        <p>
            <label for="phone"><?php _e'Phone' ); ?></label>
            <input type="text" name="phone" value="<?php echo esc_attr$phone ); ?>" class="widefat" />
        </p>

        <?php
    }
    //[Ap_dung_trong_Admin_quan_tri] Cho phep Luu xuong database khi sua o trong Edit_Comment quan tri admin
    add_action'edit_comment''extend_comment_edit_metafields' );
    function 
    extend_comment_edit_metafields$comment_id ) {
        if( ! isset( 
    $_POST['extend_comment_update'] ) || ! wp_verify_nonce$_POST['extend_comment_update'], 'extend_comment_update' ) ) return;

      if ( ( isset( 
    $_POST['phone'] ) ) && ( $_POST['phone'] != ) ) :
      
    $phone wp_filter_nohtml_kses($_POST['phone']);
      
    update_comment_meta$comment_id'phone'$phone );
      else :
      
    delete_comment_meta$comment_id'phone');
      endif;
    }
     
    Cảm ơn đã xem bài:

    Kiểm tra Validate đúng số điện thoại ở comment wordpress như thế nào?

  2. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,380
    Đã được thích:
    1,057
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Bạn sử dụng javascript để thông báo như trên nhé:
    HTML:
    <script type="text/javascript">
        (function($){
            $(document).ready(function(){
                $('#comment').click(function(){
                    $(".comment-form-author").css("display", "block");
                    $(".comment-form-phone").css("display", "block");
                    $(".comment-form-email").css("display", "block");
                });
                $('#question').click(function(){
                    $(".cs-itemmore").css("display", "block");
                });
                $('body').on('click','#commentform #submit', function() {
                    var mobivi_regex = /((09|03|07|08|05)+([0-9]{8})\b)/g;
                    var mobile = $('#phone').val();
                    var comment = $('#comment').val();
                    var author = $('#author').val();
                    if(mobile !=='' || comment !=='' || author !==''){
                        if (mobivi_regex.test(mobile) == false)
                        {
                            alert('Số điện thoại của bạn không đúng định dạng!');
                        }
                    }else{
                        alert('Vui lòng nhập đủ thông tin: Bình luận, họ tên, số điện thoại!');
                    }
                });
            })
        })(jQuery)
    </script>
    
    Giải thích:
    • ((09|03|07|08|05)+([0-9]{8}): nghia là đầu số nhập phải bắt đầu bằng:
    • Viettel: 09, 03, MobiFone: 09, 07, VinaPhone: 09, 08, Vietnamobile và Gmobile: 09, 05
    • ([0-9]{8}): các số phía sau phải là số từ 0 đến 9 gồm 8 ký tự.
    • Tổng số phải nhập là 10 số.
     


Like và Share ủng hộ ITSEOVN