140 lines
4.9 KiB
JavaScript
140 lines
4.9 KiB
JavaScript
$(document).ready( function () {
|
|
jQuery.validator.addMethod("minwidth", function(value, element, params) {
|
|
return this.optional(element) || mb_strwidth(value) >= params;
|
|
}, "글자 너비가 알파벳 {0} 자보다 길어야합니다");
|
|
jQuery.validator.addMethod("maxwidth", function(value, element, params) {
|
|
return this.optional(element) || mb_strwidth(value) <= params;
|
|
}, "글자 너비가 알파벳 {0} 자보다 짧아야합니다");
|
|
$( "#main_form" ).validate( {
|
|
rules: {
|
|
username: {
|
|
required: true,
|
|
minlength: 4,
|
|
maxlength: 64,
|
|
remote: {
|
|
url: "j_check_dup.php",
|
|
type: "post",
|
|
data: {
|
|
type:'username',
|
|
'value':function(){
|
|
return $('#username').val();
|
|
}
|
|
},
|
|
dataType: 'json'
|
|
}
|
|
},
|
|
password: {
|
|
required: true,
|
|
minlength: 6
|
|
},
|
|
confirm_password: {
|
|
required: true,
|
|
minlength: 6,
|
|
equalTo: "#password"
|
|
},
|
|
nickname:{
|
|
required: true,
|
|
maxwidth: 18,
|
|
remote: {
|
|
url: "j_check_dup.php",
|
|
type: "post",
|
|
data: {
|
|
type:'nickname',
|
|
'value':function(){
|
|
return $('#nickname').val();
|
|
}
|
|
},
|
|
dataType: 'json'
|
|
}
|
|
},
|
|
secret_agree: "required",
|
|
secret_agree2: "required"
|
|
},
|
|
messages: {
|
|
username: {
|
|
required: "유저명을 입력해주세요",
|
|
minlength: "{0}글자 이상 입력하셔야 합니다",
|
|
maxlength: '{0}자를 넘을 수 없습니다'
|
|
},
|
|
password: {
|
|
required: "비밀번호를 입력해주세요",
|
|
minlength: "비밀번호는 적어도 {0}글자 이상이어야 합니다"
|
|
},
|
|
confirm_password: {
|
|
required: "비밀번호를 입력해주세요",
|
|
minlength: "비밀번호는 적어도 {0}글자 이상이어야 합니다",
|
|
equalTo: "비밀번호가 일치하지 않습니다"
|
|
},
|
|
nickname: {
|
|
required: "닉네임을 입력해주세요",
|
|
maxlength: '닉네임은 {0}자를 넘을 수 없습니다'
|
|
},
|
|
secret_agree: "동의해야만 가입하실 수 있습니다.",
|
|
secret_agree2: "동의해야만 가입하실 수 있습니다."
|
|
},
|
|
errorElement: "div",
|
|
errorPlacement: function ( error, element ) {
|
|
// Add the `help-block` class to the error element
|
|
error.addClass( "invalid-feedback" );
|
|
|
|
if ( element.prop( "type" ) === "checkbox" ) {
|
|
error.insertAfter( element.parent( "label" ) );
|
|
} else {
|
|
error.insertAfter( element );
|
|
}
|
|
},
|
|
highlight: function ( element, errorClass, validClass ) {
|
|
$( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
|
|
},
|
|
unhighlight: function (element, errorClass, validClass) {
|
|
$( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
|
|
}
|
|
} );
|
|
|
|
$( "#main_form" ).submit(function(){
|
|
if(!$("#main_form").valid()){
|
|
return;
|
|
}
|
|
var raw_password = $('#password').val();
|
|
var salt = $('#global_salt').val();
|
|
console.log(salt + raw_password + salt);
|
|
var hash_pw = sha512(salt + raw_password + salt);
|
|
|
|
$.post({
|
|
url:'j_join_process.php',
|
|
dataType:'json',
|
|
data:{
|
|
'secret_agree':$('#secret_agree').prop("checked"),
|
|
'secret_agree2':$('#secret_agree2').prop("checked"),
|
|
'third_use':$('#third_use').prop("checked"),
|
|
'username':$('#username').val(),
|
|
'password':hash_pw,
|
|
'nickname':$('#nickname').val(),
|
|
|
|
}
|
|
}).then(function(obj){
|
|
if(!obj.result){
|
|
alert(obj.reason);
|
|
}
|
|
else{
|
|
alert('회원 등록되었습니다.\n첫 로그인 과정에서 인증 코드를 입력하는 것으로 계정이 활성화됩니다.');
|
|
}
|
|
|
|
window.location.href = "../";
|
|
|
|
});
|
|
console.log('Yes!');
|
|
return false;
|
|
});
|
|
} );
|
|
|
|
|
|
$(function($){
|
|
$.get('../terms.1.html').then(function(txt){
|
|
$('#terms1').html(txt);
|
|
});
|
|
|
|
$.get('../terms.2.html').then(function(txt){
|
|
$('#terms2').html(txt);
|
|
});
|
|
}); |