diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-02-04 03:06:31 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-02-04 03:06:31 +0200 |
| commit | b046b3ad42f62225e3d69e51953c830887d4961d (patch) | |
| tree | 14ffcb6b5679499fdc9e8d21330bae9f2e6bb622 /src | |
| parent | 69aa1c4b335136c1028bec5a9b83f17eeb8b0b8d (diff) | |
user_signup.html: refactor code into user_signup.js
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/user_signup.js | 64 |
1 files changed, 64 insertions, 0 deletions
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($('<p>passwords do not match</p>')); + err_msg_row.css('display', 'block'); + return false; + } + if (data.password_first.length < 8) { + err_msg_row.append($('<p>password too short - must be at least 8 charachters long</p>')); + 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)); + } + }); +} |
