Add a jquery validation method in Osclass login form or in any other form, with jQuery Validate.
Osclass already have the js library and we just need to add a code to load the file on the login page.
We will take bender theme as an example, user-login.php file
This all the code of this file with the changes included:
<?php
osc_add_hook('header', 'bender_nofollow_construct');
bender_add_body_class('login');
osc_enqueue_script('jquery-validate');
osc_current_web_theme_path('header.php');
?>
<div class="form-container form-horizontal form-container-box">
<div class="header">
<h1><?php _e('Access to your account', 'bender'); ?></h1>
</div>
<div class="resp-wrapper">
<form action="<?php echo osc_base_url(true); ?>" method="post" >
<input type="hidden" name="page" value="login" />
<input type="hidden" name="action" value="login_post" />
<ul id="error_list"></ul>
<div class="control-group">
<label class="control-label" for="email"><?php _e('E-mail', 'bender'); ?></label>
<div class="controls">
<?php UserForm::email_login_text(); ?>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password"><?php _e('Password', 'bender'); ?></label>
<div class="controls">
<?php UserForm::password_login_text(); ?>
</div>
</div>
<div class="control-group">
<div class="controls checkbox">
<?php UserForm::rememberme_login_checkbox(); ?> <label for="remember"><?php _e('Remember me', 'bender'); ?></label>
</div>
<div class="controls">
<button type="submit" class="ui-button ui-button-middle ui-button-main"><?php _e("Log in", 'bender'); ?></button>
</div>
</div>
<div class="actions">
<a href="<?php echo osc_register_account_url(); ?>"><?php _e("Register for a free account", 'bender'); ?></a><br /><a href="<?php echo osc_recover_user_password_url(); ?>"><?php _e("Forgot password?", 'bender'); ?></a>
</div>
</form>
</div>
</div>
<?php osc_current_web_theme_path('footer.php'); ?>
<script type="text/javascript">
$(document).ready(function () {
$("form").validate({
rules: {
email: {
required: true,
email: true
},
password: {
required: true
}
},
messages: {
email: {
required: "<?php _e("Email: this field is required"); ?>.",
email: "<?php _e("Invalid email address"); ?>."
},
password: {
required: "<?php _e("Password: this field is required"); ?>."
}
},
errorLabelContainer: "#error_list",
wrapper: "li",
invalidHandler: function (form, validator) {
$('html,body').animate({scrollTop: $('h1').offset().top}, {duration: 250, easing: 'swing'});
},
submitHandler: function (form) {
$('button[type=submit], input[type=submit]').attr('disabled', 'disabled');
form.submit();
}
});
});
</script>
The new code inserted in this file is marked with red