Всем привет. не могу реализовать простейшую валидацию формы. Помогите, кто знает.
задача : проверить на валидность емейл с помощью библиотеки Backbone.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>форма</title>
<link href="stylesheets/bootstrap.min.css" rel="stylesheet"/>
<link href="stylesheets/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form name="contact_form" method="post" action="action.php"" onsubmit="return validate_form ( );">
<p class="text-center" >Ваш емейл:
<!-- специально без type="email" -->
<input type="text" name="email" class="form-control" id="email" /></p>
<p class="text-center" >Ваше сообщение:
<textarea rows="10" cols="45" name="message" class="form-control"></textarea></p>
<p><input type="submit" class="btn btn-primary" /></p>
</form>
<button class="btn btn-primary">dfgdfg</button>
<script src="js/underscore-min.js"></script>
<script src="js/jquery-3.1.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/backbone.js"></script>
<script src="js/my.js"></script>
<script type="text/javascript" >
function validate_form ( )
{
valid = true;
var form = Backbone.Model.extend({
defaults: {
email: '',
message: ''
},
validate: function( attrs ) {
console.log(attrs);
if ( attrs.email == "") {
$("#email, textarea").addClass('form-control-danger')
valid = false;
}
var re = /\A[^@]+@([^@\.]+\.)+[^@\.]+\z/;
var myemail = document.getElementById('email').value;
var valid = re.test(myemail);
if (!valid) {
$("#email, textarea").addClass('form-control-danger')
valid = false;
}
}
});
var form = new form({'email':$("#email").text, 'message':$("textarea").text});
form.on('error', function(model, error){
console.log(error);
});
return valid;
}
</script>
</body>
</html>