Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // add main.go -> http.HandleFunc("/checkusername", <package>.CheckUsername)
- func CheckUsername(w http.ResponseWriter, req *http.Request) {
- sampleUsers := map[string]bool{
- "krovn": true,
- "jkrovnl": true,
- "admin": true,
- }
- bs, err := ioutil.ReadAll(req.Body)
- if err != nil {
- fmt.Println(err)
- }
- sbs := string(bs)
- fmt.Println("USERNAME: ", sbs)
- fmt.Fprint(w, sampleUsers[sbs])
- }
- ==============================================================================================
- <!DOCTYPE html> <!-- Signup.go -->
- <html>
- <head>
- <title>Signup5</title>
- </head>
- <body>
- <h5>Signup5</h5>
- <form method="post" id="form-create-user">
- <input type="text" name="username" id="username" placeholder="Username"><br>
- <p class="form-field-err" id="username-err"></p>
- <input type="password" name="password" id="password" placeholder="Password"><br>
- <input type="password" name="password" id="password2" placeholder="Confirm password"><br>
- <p class="form-field-err" id="password-err"></p>
- Role:<select name="role">
- <option value="user">User</option>
- <option value="admin">Admin</option>
- </select><br>
- <input type="submit" id="submitbutton"><br>
- </form>
- <a href="/">Index</a>
- <br><a href="/login">Login</a>
- <script>
- var formUser = document.querySelector('#form-create-user');
- var username = document.querySelector('#username');
- var p1 = document.querySelector('#password');
- var p2 = document.querySelector('#password2');
- var nameErr = document.querySelector('#username-err');
- var pErr = document.querySelector('#password-err')
- // username must be unique
- username.addEventListener('input', function(){
- console.log(username.value);
- var xhr = new XMLHttpRequest();
- xhr.open('POST','/checkusername', true);
- xhr.addEventListener('readystatechange', function(){
- if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200){
- var item = xhr.responseText;
- console.log(item);
- if(item == 'true'){
- nameErr.textContent = 'Username taken - Try another name!';
- document.querySelector('#submitbutton').disabled = true;
- } else {
- nameErr.textContent = '';
- document.querySelector('#submitbutton').disabled = false;
- }
- }
- });
- xhr.send(username.value);
- });
- //validate passwords, listen for submit button click
- formUser.addEventListener('submit',function(e){
- var ok = validatePasswords();
- if (!ok){
- e.preventDefault();
- return;
- }
- });
- function validatePasswords(){
- pErr.textContent = '';
- if (p1.value === ''){
- pErr.textContent = 'Enter a password.';
- return false
- }
- if (p1.value !== p2.value){
- pErr.textContent = 'Your passwords did not match. Please re-enter your passwords.';
- p1.value = '';
- p2.value = '';
- return false;
- }
- return true;
- };
- </script>
- </body>
- </html>
Add Comment
Please, Sign In to add comment