From b046b3ad42f62225e3d69e51953c830887d4961d Mon Sep 17 00:00:00 2001 From: LV-426 Date: Wed, 4 Feb 2015 03:06:31 +0200 Subject: user_signup.html: refactor code into user_signup.js --- src/client/user_signup.js | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/client/user_signup.js (limited to 'src') diff --git a/src/client/user_signup.js b/src/client/user_signup.js new file mode 100644 index 00000000..1f1cc748 --- /dev/null +++ b/src/client/user_signup.js @@ -0,0 +1,64 @@ +"use strict" + +function signup_form___submit() { + + function validate_data(data) { + var err_msg_row = $('#err_msg_row'); // reset + err_msg_row.children().remove(); + if (data.password_first != data.password_second) { + err_msg_row.append($('

passwords do not match

')); + err_msg_row.css('display', 'block'); + return false; + } + if (data.password_first.length < 8) { + err_msg_row.append($('

password too short - must be at least 8 charachters long

')); + err_msg_row.css('display', 'block'); + return false; + } + + // TODO validate email + + err_msg_row.css('display', 'none'); + return true; + } + + var form_data = { + first_name : $('#signup_form___first_name').val(), + last_name : $('#signup_form___last_name').val(), + rz_username : $('#signup_form___rz_username').val(), + email_address : $('#signup_form___email_address').val(), + password_first : $('#signup_form___password_first').val(), + password_second : $('#signup_form___password_second').val(), + }; + + if (false == validate_data(form_data)) { + return; + } + + // construct post data + var post_data = $.extend({}, form_data, { + pw_plaintxt: form_data.password_first // rename field + }); + delete post_data.password_first + delete post_data.password_second + + $.ajax({ + type : "POST", + url : '/signup', + async : false, + cache : false, + data : JSON.stringify(post_data), + dataType : 'json', + contentType : "application/json; charset=utf-8", + success : function(data, status, xhr) { + var signup_form__ajax_response = $('#signup_form__ajax_response'); // reset + signup_form__ajax_response.children().remove(); + signup_form__ajax_response.append($(data.response__html)); + }, + error : function(xhr, status, err_thrown) { + var signup_form__ajax_response = $('#signup_form__ajax_response'); // reset + signup_form__ajax_response.children().remove(); + signup_form__ajax_response.append($(data.response__html)); + } + }); +} -- cgit v1.3.1