diff --git a/browserid/static/js/pages/signup.js b/browserid/static/js/pages/signup.js
index 7cf7a3cf11cb1e462b8db1df8b3b7762adfca247..b834fcb7046f6f1bd3e9172bf22d722b181bd72e 100644
--- a/browserid/static/js/pages/signup.js
+++ b/browserid/static/js/pages/signup.js
@@ -37,8 +37,11 @@
 (function() {
   "use strict";
 
-  BrowserID.signUp = function () {
-    var ANIMATION_SPEED = 250;
+  var bid = BrowserID,
+      identities = bid.Identities,
+      ANIMATION_SPEED = 250;
+
+  bid.signUp = function () {
 
     function replaceWithMessage(selector) {
         $('.forminputs').fadeOut(ANIMATION_SPEED, function() {
@@ -56,8 +59,6 @@
 
 
     $(function () {
-      var identities = BrowserID.Identities;
-
       $("form input[autofocus]").focus();
 
       $("#email").bind("keyup", function(event) {
@@ -69,7 +70,13 @@
       $("#signUpForm").bind("submit", function(event) {
         event.preventDefault();
 
-        var email = $("#email").val();
+        var email = $("#email").val(),
+            valid = bid.Validation.email(email);
+
+        if (!valid) {
+          return;
+        }
+
         identities.emailRegistered(email, function(registered) {
           if (!registered) {
             identities.createUser(email, function onSuccess(keypair) {
diff --git a/browserid/views/signup.ejs b/browserid/views/signup.ejs
index e16483caea3370c3c8495960c9632a1a70ba2755..29a6f662fbeba3818ed61d68d665b5386ce15b33 100644
--- a/browserid/views/signup.ejs
+++ b/browserid/views/signup.ejs
@@ -1,7 +1,7 @@
 <div id="vAlign">   
     <div id="signUpFormWrap">
         <!-- XXX this form submits to nowhere -->
-        <form id="signUpForm" class="cf authform">
+        <form id="signUpForm" class="cf authform" novalidate>
             <h1 class="serif">Create Account</h1>
 
             <ul class="notifications">
@@ -13,7 +13,15 @@
             <ul class="inputs forminputs">
                 <li>
                     <label class="serif" for="email">Email Address</label>
-                    <input class="sans" id="email" autofocus required placeholder="Your Email" type="email" x-moz-errormessage="Please enter the email address you would like to use">
+                    <input class="sans" id="email" autofocus placeholder="Your Email" type="email" />
+
+                    <div id="email_format" class="tooltip" for="email">
+                      This field must be an email address.
+                    </div>
+
+                    <div id="email_required" class="tooltip" for="email">
+                      The email field is required.
+                    </div>
                 </li>
             </ul>