회원가입 시 아이디에 공백포함 가능한 부분 관련

안녕하세요,
현재 회원가입 플러그인을 사용하고 있습니다.

그런데 가입 시에 아이디에 공백(띄어쓰기)을 포함해도 가입이 되고 있습니다.

(예: te st)

아이디에 공백을 입력할 수 없게 세팅할 수 있을까요?
 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    코스모스팜 회원관리 플러그인은 WP-Members 플러그인의 확장 플러그인으로

    실제 회원가입 기능은 WP-Members 쪽에 있습니다.

    또한 워드프레스 사용자명(아이디)은 영문소문자(a-z)와 숫자만을 포함할 수 있으며

    그 외의 특수문자나 한글이 포함된다면

    "사용자명은 영문소문자(a-z)와 숫자만을 포함할 수 있습니다." 메시지가 표시되며 회원가입이 진행되지 않습니다.

     

    만약, 영문소문자, 숫자 외에 다른 문자로도 회원가입이 된다면

    코스모스팜 회원관리 플러그인과 WP-Members 플러그인이 최신 버전인지 확인해보시고

    최신 버전이 아니라면 최신 버전으로 업데이트해보시겠어요?

     

    플러그인 버전 문제가 아니라면

    워드프레스에서 에러 혹은 알 수 없는 문제가 있을 때 대응 방법을 참고하셔서

    에러 메시지나 충돌이 있는지 점검해보셔야 할 듯합니다.

    고맙습니다.

  • 안녕하세요, 확인해보니 모두 최신버전으로 확인됩니다.

    WP-Members : 버전 3.3.7.1
    코스모스팜 회원관리 : 버전 2.9.8

    공백 이외에 특수문자나 한글 입력 시 가입되지 않는 것도 확인됩니다.
    그런데 공백만 문제없이 가입됩니다.

    원래는 공백이(띄어쓰기) 중간에 들어가도 가입이 되지 않아아 맞는 것인가요?
    무엇이 문제인지 궁금합니다....

  • 저희 테스트 서버에서는 공백이 들어가더라도

    회원가입이 정상적으로 되지 않으며 이전 댓글에 안내해드린 문구가 표시됩니다.

    사용자명에 공백에 들어가면 자동으로 지우는 코드를 추가해보시겠어요?

    add_action('wp_footer', 'wp_footer_20201214');
    function wp_footer_20201214(){
    	if(get_the_ID() == '1'){ // 실제 페이지 id로 적용해주세요.
    		?>
    		<script>
    		jQuery(document).ready(function(){
    			jQuery('input[name="username"]', '.cosmosfarm-members-form').keyup(function(){
    				jQuery(this).val(jQuery(this).val().replace(' ', ''));
    			});
    		});
    		</script>
    		<?php
    	}
    }

    위의 코드에서 get_the_ID() == '1' 부분은 실제 페이지 id로 적용해주세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.

    워드프레스에서 페이지(포스트) ID를 찾는 방법

    고맙습니다.

  • 안녕하세요, 고생이 많으십니다.

     

    적어주신 코드를 삽입해서 적용했더니

    스페이스바를 한번 눌렀을 때는 자동으로 공백이 지워지는데,

    스페이스바를 꾹 누르고 있을 시에는 공백이 들어가면서 여전히 회원가입이 진행됩니다...

    스페이스바가 아예 안먹도록 할 수는 없을까요..?

     

    바쁘실텐데 항상 감사합니다..

  • keyup 이벤트 외에 keydown 이벤트도 추가하시면 해결되실 듯합니다.

    이전 코드에 안내해드린 코드 중

    아래의 코드를 찾아서

    jQuery('input[name="username"]', '.cosmosfarm-members-form').keyup(function(){
    	jQuery(this).val(jQuery(this).val().replace(' ', ''));
    });

    찾은 코드 밑에 아래의 코드도 추가해보시겠어요?

    jQuery('input[name="username"]', '.cosmosfarm-members-form').keydown(function(){
    	jQuery(this).val(jQuery(this).val().replace(' ', ''));
    });

    고맙습니다.

  • 감사합니다!

    추가로 알려주신 코드를 넣었더니

    문제가 해결되었습니다.

     

    항상 감사합니다..

    수고하세요!

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기